在使用 pytest
运行测试时,你可以通过指定测试文件的路径来精准运行特定的测试文件。以下是几种常见的方法:
你可以直接指定测试文件的路径来运行该文件中的所有测试。例如:
pytest path/to/your/test_file.py
这将运行 test_file.py
文件中的所有测试用例。
如果你想要运行多个测试文件,可以在命令行中指定多个文件路径:
pytest path/to/test_file1.py path/to/test_file2.py
如果你想要运行某个目录下的所有测试文件,可以指定该目录的路径:
pytest path/to/tests/
这将运行 tests/
目录下的所有测试文件。
-k
选项运行特定测试用例如果你只想运行某个测试文件中的特定测试用例,可以使用 -k
选项并指定测试用例的名称或部分名称:
pytest path/to/test_file.py -k "test_function_name"
这将只运行 test_file.py
文件中名称包含 test_function_name
的测试用例。
-m
选项运行标记的测试用例如果你在测试用例中使用了 pytest.mark
标记,可以使用 -m
选项来运行带有特定标记的测试用例:
pytest path/to/test_file.py -m "mark_name"
这将只运行 test_file.py
文件中带有 mark_name
标记的测试用例。
--ignore
忽略特定文件或目录如果你想要运行某个目录下的所有测试文件,但忽略其中的某些文件或目录,可以使用 --ignore
选项:
pytest path/to/tests/ --ignore path/to/tests/ignore_this_file.py
这将运行 tests/
目录下的所有测试文件,但忽略 ignore_this_file.py
文件。
pytest.ini
配置文件你还可以在项目根目录下创建一个 pytest.ini
配置文件,来指定默认的测试文件或目录:
[pytest]
testpaths = tests/
这将默认运行 tests/
目录下的所有测试文件。
--collect-only
查看将要运行的测试如果你不确定哪些测试会被运行,可以使用 --collect-only
选项来查看将要运行的测试列表,而不实际运行它们:
pytest path/to/test_file.py --collect-only
这将列出 test_file.py
文件中所有将被运行的测试用例。
通过以上方法,你可以精准地运行指定的测试文件或测试用例。根据你的需求选择合适的方式来运行测试,可以提高测试的效率和准确性。