无法在VSCode或终端中运行PyTest,无法识别任何测试。

3

我使用pip安装了pytest。以下是示例代码:

import pytest


def example():
    assert 9 == 9

我的settings.json文件如下所示

{
    "python.testing.pytestArgs": [
        "."
    ],
    "python.testing.unittestEnabled": false,
    "python.testing.nosetestsEnabled": false,
    "python.testing.pytestEnabled": true
} 

当我使用pytest filename.py命令时,在终端中一直出现“未运行测试”。

Python版本:3.9.1 pytest版本:6.2.2。

有人有任何想法吗?

更新:Jason下面的答案是有效的。问题在于文件和方法的命名。文件名需要以“_test.py”结尾,才能让vscode运行测试,并且函数名称需要以“test_”开头,才能使终端和vscode都运行。


如果设置正确,VSC 可以在测试文件保存或在测试活动栏中按下“刷新”图标时自动检测测试。请查看 VSC 文档中的 Python 测试页面。 - rioV8
是的,那就是我的问题,我命名了模块和测试方法。 - SeanyMc
我应该做的另一件事是在VSCode中配置Python测试并选择Pytest。 - SeanyMc
1个回答

3

尝试将文件重命名为“test_filename.py”,并将测试函数重命名为“test_example”,这样它们就可以被pytest检测到。

https://docs.pytest.org/en/reorganize-docs/new-docs/user/naming_conventions.html

此外,一个有用的pytest选项是“--collect-only”,用于调试运行测试的能力。它会尝试仅查找测试而不运行它们。

pytest --collect-only

VSCode有能力自行运行测试,不需要在终端中执行。

https://code.visualstudio.com/docs/python/testing


谢谢Jason!我最终在VSCode和终端中都成功运行了它。我之前不知道“仅收集命令”,以后一定会用它的。 - SeanyMc

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接