gpt4 book ai didi

python - 可以在 pytest 中包含 pytest 吗?

转载 作者:行者123 更新时间:2023-12-01 07:03:53 24 4
gpt4 key购买 nike

我做了一个pytest它测试给定目录中的所有文件。

@pytest.mark.dir
def test_dir(target_dir):
for filename in os.listdir(target_dir):
test_single(filename)

def test_single(filename):
...
...
assert( good or bad )

target_dir由命令行提供:
pytest -m dir --target_dir=/path/to/my_dir

pytest_addoption()用于解析命令行(为了清楚起见,省略了代码)。

即使test_single(),测试的输出也给出单次通过/失败标记运行数百次。是否可以为每个文件获取通过/失败标记?

最佳答案

我认为正确的方法是参数化您的测试函数,以便将 target_dir 有效地拆分为固定装置中的各个文件filename:

# conftest.py

import os

def pytest_addoption(parser):
parser.addoption("--target_dir", action="store")

def pytest_generate_tests(metafunc):
option_value = metafunc.config.option.target_dir

if "filename" in metafunc.fixturenames and option_value is not None:
metafunc.parametrize("filename", os.listdir(option_value))
# test.py

import pytest

@pytest.mark.dir
def test_file(filename):
# insert your assertions
pass

关于python - 可以在 pytest 中包含 pytest 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58520485/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com