如何在VScode中运行pytests的单独文件夹



我正试图从一个单独的文件夹中为VSCode中的代码运行pytests,但我一直收到以下错误:

ModuleNotFoundError: No module named 'src'

我的基本文件结构是:

Root
|
|- src
| |- file1.py
|
|- tests
| |- test_file.py

我在test_file.py中的代码是:

from src import file1

我看到了如何在不安装包的情况下运行测试?以及数百万其他重要问题,但我仍然搞不清楚。我也试过

from ..src import file1

但后来我得到了一个ImportError:试图在顶级包之外进行相对导入

如何以这种方式使用导入来对代码运行测试?

您可以修改PYTHONPATH以避免此问题。你可以参考官方文件。

使用PYTHONPATH的一个例子是,如果您有源代码在src文件夹中,在tests文件夹中进行测试。当运行测试时,但是,除非您硬编码相对路径。

为了解决这个问题,您可以通过以下方式将src的路径添加到PYTHONPATH在VS代码工作区中创建.env文件。

PYTHONPATH=src然后将settings.json文件中的python.envFile设置为指向您刚刚创建的.env文件。例如,如果.env文件在您的工作区根目录中,您的settings.json将被设置为如下所示:

"python.envFile":"{workspaceFolder}/.env";

并且测试未通过终端路由,因此设置terminal.integrated.env.*将不起作用。

最新更新