pytest:如何设置目录路径并避免执行特定目录下的测试用例

作者:菠萝爱吃肉2024.01.17 15:38浏览量:7

简介:在 pytest 中,您可以通过修改 pytest.ini 文件来设置测试目录路径,并使用 fixture 或 marker 来控制特定目录下的测试用例的执行。

千帆应用开发平台“智能体Pro”全新上线 限时免费体验

面向慢思考场景,支持低代码配置的方式创建“智能体Pro”应用

立即体验

在 pytest 中,您可以通过修改 pytest.ini 文件来设置测试目录路径。要设置目录路径,请打开 pytest.ini 文件,并在其中添加以下行:
[pytest]
addopts = -v -q —junitxml=./pytest-results.xml
rootdir = /path/to/your/project
其中,-v 选项表示输出详细信息,-q 选项表示安静模式(不输出详细信息),--junitxml=./pytest-results.xml 选项将测试结果输出到指定的 JUnit XML 文件中。rootdir 选项用于指定项目的根目录路径。
要避免执行特定目录下的测试用例,您可以使用 pytest fixture 或 marker。例如,假设您有一个名为 my_tests 的目录,其中包含您想要跳过的测试用例,您可以创建一个名为 __pragma__('skip') 的 fixture,并在该目录中的测试用例中添加对该 fixture 的依赖。示例如下:

my_tests/test_example.py

def testexample(somedependency, pragma(‘skip’)):
assert some_dependency == expected_value
在上面的示例中,`__pragma
(‘skip’)` fixture 将导致 pytest 跳过该测试用例的执行。
另外,您也可以使用 pytest 的 marker 功能来标记需要跳过的测试用例。示例如下:

my_tests/test_example.py

import pytest
@pytest.mark.skip()
def test_example(some_dependency):
assert some_dependency == expected_value
在上面的示例中,使用 @pytest.mark.skip() 装饰器将标记该测试用例为需要跳过。pytest 将自动识别该标记并跳过该测试用例的执行。
请注意,使用 fixture 或 marker 来控制测试用例的执行需要在测试代码中进行相应的修改。因此,如果您想要修改特定目录下的测试用例的执行行为,请确保对该目录中的测试用例进行相应的修改。

article bottom image

相关文章推荐

发表评论