如何在pytest下测试单个文件

时间:2016-01-16 23:29:38

标签: python pytest

如何在pytest中测试单个文件?我只能在文档中找到忽略选项而不是“仅测试此文件”选项。

最好这可以在命令行而不是setup.cfg上工作,因为我想在ide中运行不同的文件测试。整个套房需要很长时间。

3 个答案:

答案 0 :(得分:38)

只需使用文件路径

运行py.test即可

类似

py.test tests/unit/some_test_file.py

答案 1 :(得分:31)

这很简单:

$ pytest -v /path/to/test_file.py

-v标志是为了增加冗长度。如果要在该文件中运行特定测试:

$ pytest -v /path/to/test_file.py::test_name

如果你想运行测试,你可以使用哪些名称:

$ pytest -v -k "pattern_one or pattern_two" /path/to/test_file.py

您还可以选择标记测试,因此您可以使用-m标志来运行标记测试的子集。

<强> test_file.py

def test_number_one():
    """Docstring"""
    assert 1 == 1


@pytest.mark.run_these_please
def test_number_two():
    """Docstring"""
    assert [1] == [1]

运行标有run_these_please的测试:

$ pytest -v -m run_these_please /path/to/test_file.py

答案 2 :(得分:1)

这对我有用:

python -m pytest -k some_test_file.py

这也适用于单个测试功能:

python -m pytest -k test_about_something