程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何参数化Pytest timeline大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_801_0@如何解决如何参数化Pytest timeline? 开发过程中遇到如何参数化Pytest timeline的问题如何解决?下面主要结合日常开发的经验,给出你关于如何参数化Pytest timeline的解决方法建议,希望对你解决如何参数化Pytest timeline有所启发或帮助;

pytest.mark.parametrize pytest中的 使用固定装置 问题来看,目前似乎无法在中使用固定装置pytest.mark.parametrize

@H_801_0@解决方法

虑以下Pytest:

import pytest

class TimeLine(object):
    instances = [0,1,2]

@pytest.fixture
def timeline():
    return TimeLine()

def test_timeline(timelinE):
    for instance in timeline.instances:
        assert instance % 2 == 0

if __name__ == "__main__":
    pytest.main([__file__])

该测试test_timeline使用Pytest固定装置timeline,其本身具有属性instances。在测试中迭代该属性,以便仅在每个instancein的断言均成立的情况下测试才通过timeline.instances

但是,我实际上想做的是生成3个测试,其中2个应该通过,其中1个将失败。我试过了

@pytest.mark.parametrize("instance",timeline.instances)
def test_timeline(timelinE):
    assert instance % 2 == 0

但这导致

AttributeError: 'function' object has no attribute 'instances'

据我了解,在Pytest固定装置中,函数“成为”其返回值,但是在对参数进行参数化时,这似乎尚未发生。如何以所需的方式设置测试?

大佬总结

以上是大佬教程为你收集整理的如何参数化Pytest timeline全部内容,希望文章能够帮你解决如何参数化Pytest timeline所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。