我正在尝试使用 pytest testrail 模块并从这个演示脚本开始:
import pytest
from pytest_testrail.plugin import testrail
@testrail('C165')
def test_run():
print "T165:pass"
它确实会创建一个测试运行,但不会将任何结果发布到相应的测试用例。
尝试添加一个断言,因为这是 pytest 钩子正在寻找的:
import pytest
from pytest_testrail.plugin import testrail
@testrail('C165')
def test_run():
assert False
这里是add_result
函数。testrail
当您的测试 (test_run) 完成时,插件会执行它。
您可以注意到status
函数中的参数,它要求您的测试需要从断言返回结果(例如 assert False 是一个很好的例子)。
在你的情况下,仅仅打印一个字符串并不好testrail
知道测试的状态。
def add_result(self, test_ids, status, comment='', duration=0):
"""
Add a new result to results dict to be submitted at the end.
:param list test_ids: list of test_ids.
:param int status: status code of test (pass or fail).
:param comment: None or a failure representation.
:param duration: Time it took to run just the test.
"""