在使用pytest进行单元测试时,往往要先将要测试的模块import过来,再编写具体的测试文件。测试文件写好后,加入直接执行 pytest test_xx.py,就会收到报错:
ModuleNotFoundError: No module named 'xxx'二、解决方法
在项目顶层目录下,同时保证测试文件中的import都是项目顶层目录开始的绝对导入,使用python -m pytest your_prj_path/test_xx.py来启动pytest。
三、原因python -m module 表示将module当作脚本来运行,即将module作为启动文件。跟直接使用pytest启动测试脚本的区别在于:前者的搜索目录(即sys.path)为当前项目目录,而后者的搜索目录是pytest文件所在的目录。



