0

我正在尝试使用 pytest testrail 模块并从这个演示脚本开始:

import pytest
from pytest_testrail.plugin import testrail

@testrail('C165')
def test_run():
    print "T165:pass"

它确实会创建一个测试运行,但不会将任何结果发布到相应的测试用例。

4

2 回答 2

1

尝试添加一个断言,因为这是 pytest 钩子正在寻找的:

import pytest
from pytest_testrail.plugin import testrail

@testrail('C165')
def test_run():
    assert False
于 2018-07-24T11:04:23.820 回答
0

这里是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.
    """
于 2020-06-06T03:08:49.590 回答