在 Visual Studio Code 上,如何指定我的 pytest.ini 文件以进行测试发现

All*_*lan 3 pytest visual-studio-code vscode-python

pytest用于测试。我的测试文件驻留在一个子目录tests,它们被命名Foo.pyBar.py而不是test_Foo.pyTestFoo.py等等。所以,要确保pytest找到他们,我有一个pytest.ini与下面的内容项目的根目录文件:

[pytest]
python_files=tests/*py
Run Code Online (Sandbox Code Playgroud)

如何pytest.ini在 Visual Studio Code 中指定文件的路径,以便vscode-python插件可以正确/成功地发现我的测试文件?无论我尝试什么,我都会得到Test discovery failed,没有给出任何理由。

小智 6

要设置 VS Code 以使用特定pytest.ini文件,您需要执行以下操作:

  1. 在 VS Code 中打开一个目录( ctrl+k > ctrl+o)
  2. 选择一个Python 解释器( ctrl+shift+p > Python: Select Interpreter > Python interpreter)
  3. 配置您要使用的测试框架,在本例中为PyTest (ctrl+shift+p > Python: Configure Tests > Pytest > {pytest rootdir}
  4. 打开在您的工作目录中创建settings.json.vscode/目录中生成的文件(您在步骤 1 中选择的那个)
  5. 将以下设置添加到文件中(如果您rootdir在配置 pytest 时指定了 a ,它可能已经存在):
    "python.testing.pytestArgs": [
        "-c",
        "/path/to/your/pytest.ini"
    ],
Run Code Online (Sandbox Code Playgroud)

就是这样!VS Code 应该使用您在最后一个参数中指定的 pytest.ini 文件。你可以在那里指定任何你想要的 CLI 选项。

来源


小智 -1

Pytest 要求测试函数名称以 开头test 或结尾test

ini 文件指示 py.test 将所有 *_test.py 文件视为单元测试。