gpt4 book ai didi

python - 将变量传递给 pytest 中的依赖测试

转载 作者:行者123 更新时间:2023-12-04 07:31:08 25 4
gpt4 key购买 nike

我目前正在使用 pytest 的 pytest-dependency 插件来定义测试依赖项。
我无法理解如何将值传递给依赖测试。下面是我想做的一个例子。我想在 test_two 函数中使用 test_one 中产生的作业。

def test_one(fake_fixture):
job = create_job()
assert job.status == "COMPLETE"

@pytest.mark.dependeny(depends=["test_one"])
def test_two(fake_fixture):
response = download_report(job)
assert file.status_code == 200

最佳答案

一般来说,让测试相互依赖并不是一个好主意,所以如果你可以重构你的测试来避免这种情况,那将是最好的解决方案。
话虽如此,由于性能问题,经常使用依赖测试,所以如果 create_job需要很多时间,只运行一次是有意义的。这可以通过使用模块或 session 范围的 fixture 来最好地完成:

@pytest.fixture(scope="module")
def job():
yield create_job()

def test_one(fake_fixture, job):
assert job.status == "COMPLETE"

@pytest.mark.dependeny(depends=["test_one"])
def test_two(fake_fixture, job):
response = download_report(job)
assert file.status_code == 200
这样,测试仍然是依赖的(如果第一个测试失败,第二个测试没有意义),但是 create_job仅调用一次,并且您没有直接的测试依赖项。

关于python - 将变量传递给 pytest 中的依赖测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67923820/

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