繁体   English   中英

如何在 pytest skipif 标记中使用夹具?

[英]How to use a fixture in a pytest skipif marker?

我有一个py.test function 如下所示:

def my_test(self, driver):
    # Do something with the driver

它使用driver夹具(在conftest.py中定义)。

现在,我需要在运行此测试之前检查一些内容。 如果该检查失败,我需要跳过此测试。 这是我尝试过的:

@pytest.mark.skipif(not driver.check(),
                    reason="Some check negative.")
def my_test(self, driver):
    # Do something with the driver

但是那个标记本身使用了一个夹具(它可能是同一个夹具,也可能是不同的夹具,这里无关紧要)。 有没有一种简单的方法可以在skipif标记中使用夹具?

为什么不跳过驱动夹具内部的测试? 然后每个fixture 可以自己决定是否需要跳过依赖于它的所有测试。

@pytest.fixture()
def driver():
    if not check_driver():
        pytest.skip("Driver could not be loaded")
    return get_driver()

另请参阅从夹具内部跳过测试

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM