如何访问py.test框架

时间:2017-07-24 20:49:17

标签: python python-2.7 pytest

我正在使用node.add_marker向节点添加标记,有没有办法从节点获取标记值,这样我就可以确保无论我设置什么,实际上都是开始设置。

当我尝试访问节点时,它只是给我一个节点指向的函数的引用,我想要的是打印我添加到节点的标记。

(Pdb++) node.add_marker(pytest.mark.mymarker(myoption='yes'))
(Pdb++) node
<Function 'test_1'>

有人可以帮我找出实现这个目标的正确方法吗?

1 个答案:

答案 0 :(得分:0)

我相信您可以使用标记的字符串名称调用get_marker()方法,因此在您的示例中,我会尝试node.get_marker('mymarker')

通常,由于您可以访问包含要检查的某些对象的python shell,因此可以使用dir()函数列出对象的属性,例如: dir(node)查看它拥有的属性。我使用的另一个技巧是查看node.__dict__,因为许多对象使用该内部属性。

另请注意,“node”变量的类型为Function,这是pytest执行魔术的类之一。阅读the source code是另一种弄清楚你可以用这个对象做什么的方法。