我想将自定义属性(或关键字)添加到我可以在pytest_runtest_logreport
期间访问的测试中。
我目前所做的是设置这样的标记
@pytest.mark.TESTID(98157)
用于测试,然后在pytest_runtest_logreport
中使用report.keywords['TESTID']
作为@pytest.mark.JIRA("MyJIRA-124")
,返回长度为1且值为98157的元组。到目前为止一切顺利。
但是当我尝试添加另一个带有缺陷ID的标记时,就像report.keywords['JIRA']
这个string
一样,这给了我整数1。
所以我的问题是我们不能用RestAdapter restAdapter = new RestAdapter.Builder()
.setEndpoint("http://path_to_json_response")
.setConverter(new GsonConverter(gson))
.build();
参数创建参数化标记
和
如果那可能是我可能的解决方法。
答案 0 :(得分:2)
不幸的是"报告"在默认的implmentation中不会有这个vaules,因为它只是一个dict,每个键的值为1(source code)
我认为最简单的解决方法是改变"报告"是使用pytest_runtest_makereport
钩子构造的。它可以这么简单:
from _pytest.runner import pytest_runtest_makereport as _makereport
def pytest_runtest_makereport(item, call):
report = _makereport(item, call)
report.keywords = dict(item.keywords)
return report
然后在pytest_runtest_logreport
,在report.keyword['JIRA']
下,您会找到MarkInfo
对象