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

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

测试 运行 使用 文件 772    来源:    2025-03-14

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

1. 运行单个测试文件

你可以直接在命令行中指定要运行的测试文件的路径。例如,如果你有一个名为 test_example.py 的测试文件,你可以使用以下命令来运行它:

pytest path/to/test_example.py

2. 运行多个测试文件

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

pytest path/to/test_example1.py path/to/test_example2.py

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

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

pytest path/to/tests/

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

如果你想运行某个测试文件中的特定测试函数或类,可以使用 -k 选项。例如,假设 test_example.py 文件中有一个名为 test_function 的测试函数,你可以使用以下命令来运行它:

pytest path/to/test_example.py -k test_function

5. 使用 :: 语法运行特定测试类或方法

你还可以使用 :: 语法来指定测试类或方法。例如,假设 test_example.py 文件中有一个名为 TestClass 的测试类,其中有一个名为 test_method 的测试方法,你可以使用以下命令来运行它:

pytest path/to/test_example.py::TestClass::test_method

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

如果你在测试文件中使用了 @pytest.mark 来标记某些测试,可以使用 -m 选项来运行这些标记的测试。例如:

pytest path/to/test_example.py -m mark_name

7. 使用 -v 选项查看详细信息

如果你想查看更详细的输出信息,可以添加 -v 选项:

pytest path/to/test_example.py -v

8. 使用 -s 选项禁用捕获输出

如果你想在测试运行时查看 print 语句的输出,可以使用 -s 选项:

pytest path/to/test_example.py -s

9. 使用 -x 选项在第一次失败时停止

如果你想在第一次测试失败时立即停止测试运行,可以使用 -x 选项:

pytest path/to/test_example.py -x

10. 使用 --maxfail 选项设置最大失败次数

你可以使用 --maxfail 选项来设置允许的最大失败次数。例如,如果希望在第三次失败时停止测试运行:

pytest path/to/test_example.py --maxfail=3

总结

通过以上方法,你可以精准地运行指定的测试文件、测试类或测试方法,并根据需要调整测试运行的详细程度、输出捕获等行为。