我的文件路径如下:
╰─➤ tree
.
├── services
│ └── myservice.py
└── testing
└── test_myservice.py
测试代码引用了项目文件, 类似testing/test_myservice.py
from services.myservice import MyService
def test_event_interface():
assert True
此时想运行单元测试的话
错误的方式:
- pytest -m testing.test_myservice
- pytest testing/test_myservice.py
正确的方式:
- python -m pytest testing/test_myservice.py
这样就可以避免遇到 ModuleNotFoundError: No module named 'xxxx'
的问题,原因参考:python 当前路径和导包路径问题全解析
插一段,我是为了解决 nameko 单元测试,才有了这个疑问的
所以「如何使用 nameko+pytest 测试多层路径下面的 py 文件,避免 ModuleNotFoundError」呢?
其实也很简单,使用 python -m nameko test testing/test_myservice.py
这样格式的就行
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。