从项目的根目录执行 pytest 时,模块未发现错误:没有模块名称'main'



问题:当我在cmdpy -m pytest py_src/中从项目根执行pytest时。我得到以下错误:ModuleNotFoundError: No module named 'main'。但是,如果我cd到py_src/中,然后运行py -m pytest,则所有操作都会相应地进行。我对pytest还比较陌生,如果有任何事情能指引我朝着正确的方向发展,我将不胜感激。

GOAL:我试图实现的是从项目的根目录创建一个.yml文件,该文件将在其他目录中运行pytest和其他测试。

CURRENT STATE:这是我的文件结构。

root
|
|---py_src
|    |
|    |---main.py
|    |
|    |---tests
|    |    |
|    |    |---test_x.py

在我的tests.py文件中,我有

from main import app

通过在每个目录中添加一个名为__init__.py的空白文件,使目录成为模块。

root
|
|---py_src
|    |
|    |---__init__.py
|    |---main.py
|    |
|    |---tests
|    |    |
|    |    |---__init__.py
|    |    |---test_x.py

现在将您在test_x.py中的导入更改为从等模块导入

from py_src.main import app

这将允许您从根目录或源目录运行pytest

相关内容

  • 没有找到相关文章

最新更新