我正在使用pytest,我想用标记标记我的测试,这些标记将指定要加载到驱动程序中的哪个页面。这很容易使用behave上下文对象,但我找不到如何使用pytest
例如,对于此代码
import pytest
@pytest.fixture
def text(request):
if 'hello' in X:
return 'found it!'
return 'did not find it :('
@pytest.mark.hello
def test_hello(text):
assert text == 'found it!'
X应该是什么,这样我才能通过这个测试?
我尝试了request.node.own_markers
,但那只会给我一个空列表,即使我标记了测试
我通过玩游戏找到了答案。夹具被标记为“scope=module”,而只有测试函数具有该标记。因此,它超出了设备的范围,因此为空列表。当我使夹具具有默认范围时,找到了标记
有
request.node.own_markers
或request.node.iter_markers()
可以让您访问节点的标记例如:
如果标记应用于更高的范围,则这两种方法将有所不同(例如)
在markers文档中有一些示例(没有一个使用
request
,但是item
在这些示例中是相同的(它们使用pytest钩子)相关问题 更多 >
编程相关推荐