小编NFS*_*edy的帖子

使用固定装置跳过 pytest 中的测试

所以我有一个巨大的对象来保存在夹具内启动的信息。我需要使用这些信息来运行我的测试,这里开始棘手的部分。如果我在测试用例中使用的对象内没有属性,我必须跳过它。

生成对象的装置在测试运行之前启动一次(通常)。在测试之前我需要一个易于使用的装饰器/固定装置/任何东西来检查对象是否具有对象内部所需的内容。

例子:

@pytest.fixture(scope="package")
def info(request):
    print("Setting up...")
    obj = Creator()
    obj.setup()
    obj.prepare() if hasattr(obj, "prepare") else ""
    def teardown():
        obj.teardown() if hasattr(obj, "teardown") else ""
    request.addfinalizer(teardown)
    return obj.call()

...

@has_attr("some_attr")
def test_sometest(info):
    assert info.some_attr == 42
Run Code Online (Sandbox Code Playgroud)

testing pytest python-3.x python-3.8

4
推荐指数
1
解决办法
1608
查看次数

标签 统计

pytest ×1

python-3.8 ×1

python-3.x ×1

testing ×1