插件窝 干货文章 如何用 pytest 精准运行指定测试文件?

如何用 pytest 精准运行指定测试文件?

测试 运行 文件 pytest 108    来源:    2025-03-13

在使用 pytest 运行测试时,你可以通过指定文件路径来精准运行特定的测试文件。以下是几种常见的方法:

1. 运行单个测试文件

你可以直接指定测试文件的路径来运行该文件中的所有测试。例如:

pytest path/to/your/test_file.py

2. 运行多个测试文件

如果你想运行多个特定的测试文件,可以在命令行中列出这些文件的路径:

pytest path/to/test_file1.py path/to/test_file2.py

3. 运行特定目录下的所有测试文件

如果你想运行某个目录下的所有测试文件,可以指定该目录的路径:

pytest path/to/tests/

4. 使用 -k 选项运行特定测试函数或类

如果你想运行某个测试文件中的特定测试函数或类,可以使用 -k 选项并指定测试函数或类的名称:

pytest path/to/test_file.py -k "test_function_name"

或者:

pytest path/to/test_file.py -k "TestClassName"

5. 使用 -m 选项运行标记的测试

如果你在测试文件中使用了 pytest.mark 标记,可以通过 -m 选项来运行带有特定标记的测试:

pytest path/to/test_file.py -m "mark_name"

6. 使用 :: 语法运行特定测试函数或类

你还可以使用 :: 语法来指定运行某个测试文件中的特定测试函数或类:

pytest path/to/test_file.py::test_function_name

或者:

pytest path/to/test_file.py::TestClassName

7. 使用 --ignore 忽略特定文件或目录

如果你想忽略某些文件或目录,可以使用 --ignore 选项:

pytest --ignore path/to/ignore_file.py

或者:

pytest --ignore path/to/ignore_directory/

8. 使用 --collect-only 查看将要运行的测试

如果你想查看将要运行的测试列表而不实际运行它们,可以使用 --collect-only 选项:

pytest path/to/test_file.py --collect-only

总结

通过以上方法,你可以精准地控制 pytest 运行哪些测试文件、测试函数或类。根据你的需求选择合适的方式来运行测试。