我刚刚发现 vscode 可以直接在编辑器中运行 pytest,这很棒——如果它能正常工作的话。
目前我正在一个虚拟环境内开发项目,在 vscode 中已经正确配置(并激活)了该虚拟环境。pytest 已经在虚拟环境中安装并且也已经被激活,我编写的测试也得到了预期的发现。但是每当我运行一个测试时,它都会提示找不到我当前正在工作的模块,并引发 ModuleNotFoundError
。
我使用 pip install -e .
安装了此模块。在 vscode 之外的普通终端控制台上运行相同的测试符合预期。
无论 pytest 是否仅针对工作区和/或用户启用都没有任何区别。
示例代码:
def test_something():
from mymodule.config import Config
...
输出:
E ModuleNotFoundError: No module named 'mymodule'
Pip 示例输出:
mymodule 0.1.0 /path/to/mymodule
奇怪的是,vscode可以运行正确的pytest脚本(它没有全局安装,只安装在这个环境中),并且带有所有已安装的插件(例如pytest-datafiles)。
你有任何想法吗?
敬礼,Thomas
你有任何想法吗? 敬礼,Thomas
my_module
是一个目录吗? - Matiiss