在单个测试函数中完成多个断言的情况下,如何报告多个测试用例



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

目前,在我的测试框架中,一个测试函数可以包含多个断言,这些断言属于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标记测试用例(在参数化的情况下很好(我无法解决这个问题。如果有人能提出解决这个问题的更好方法,我将不胜感激。

尽管这个问题我有点不清楚。让我具体谈谈我对所提供的问题陈述的理解

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

  2. 一个测试用例可能有"n"个断言,但针对布尔值断言它们不是一种建议的做法——相反,以dict形式返回每个断言的状态,并简化断言

相关内容

  • 没有找到相关文章

最新更新