-1

如何使用 PyTest 报告与断言相同数量的测试用例?

目前,在我的测试框架中,1 个测试函数可以包含多个属于 JIRA 中不同测试用例的断言。

# A simple use-case of what I want to achieve

def test_one(request):
    assert  1 == 1 # QA-1234 Passed
    assert  2 == 1 # QA-4567 Failed

当断言数量增加时,我尝试使用pytest.fixture但不可扩展的解决方案来解决此问题。如下面的代码片段所示,我将不得不为每个断言继续创建不同的 pytest 测试函数。

value1 = 10
value2 = "golden"
value3 = None

@pytest.fixture()
def check_value1_value2_value3():
    testcase_ids = {}
    testcase_ids['QA-1234'] = value1 == 10
    testcase_ids['QA-5678'] = value2 == 'silver'
    testcase_ids['QA-6789'] = value3 is not None

def test_value1(check_value1_value2_value3):
    testcases = check_value1_value2_value3
    assert testcases['QA-1234'] == True

def test_value2(check_value1_value2_value3):
    testcases = check_value1_value2_value3
    assert testcases['QA-5678'] == True

def test_value3(check_value1_value2_value3):
    testcases = check_value1_value2_value3
    assert testcases['QA-6789'] == False

以下是我已经尝试过的解决方案:

  1. 创建具有多个 JIRA ID 的标记并更新 HTML 报告

我已经尝试了很多东西(用多个 Jira ID 标记测试用例(在参数的情况下工作正常我无法解决这个问题。如果有人能提出更好的方法来解决这个问题,我将不胜感激。

4

1 回答 1

0

虽然这个问题对我来说有点不清楚。让我具体谈谈我对提供的问题陈述的理解

  1. 您可以尝试使用此 pytest-plugin https://pypi.org/project/pytest-jira/0.2.3/ 这应该可以解决您希望针对 jira 问题标记测试用例的目的

  2. 一个测试用例可能有“n”个断言,但不建议对布尔值断言它们 - 而是以字典形式返回每个断言的状态并简化你的断言

于 2019-11-19T18:23:41.283 回答