问题:当我在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