用例标题
- @allure.title('用例标题')
- 放在函数、方法之外,不建议放到类之外
- 每条用例执行一次
- 可以使用参数化的参数
用例描述
- @allure.description('用例描述')
- 放在函数方法之外,不建议放到类之外
- 每条用例执行一次
- 不能使用参数化的参数
测试步骤
- @allure.step('测试大步骤名')
- 这种写法必须放在函数外、类中方法外,不能放类外
- 每条用例执行一次
- 可以使用参数化的参数
- with allure.step('测试小步骤名'):
不可省略的其他子步骤代码- 这种写法必须放在函数或方法之内
- 支持print(无需-s参数)、日志
- 每条用例执行一次
- 大步骤和小步骤中,至少应该使用一个,否则报告会显示:
编写测试代码文件ceshi_calc_as03.py,测试add、sub函数,加入用例标题、用例描述、测试大步骤、测试小步骤
add_cases=[['两个正数相加',1,2,3], ['正数加零',2,0,2], ['两个负数相加',-1,-2,-3], ['负数加零',-2,0,-2]]
@pytest.mark.parametrize('case_title, a, b, expect', add_cases)
@allure.suite('计算器加法测试')
@allure.epic('计算器算数运算-epic')
@allure.feature('计算器加法运算-feature')
@allure.story('加法测试-story')
@allure.step('加法测试-大step-{case_title}')
@allure.title('加法测试用例标题-{case_title}')
@allure.description('加法测试用例描述')
def test_add(case_title,a,b,expect):
with allure.step('调用add函数'):
actual=add(a, b)
with allure.step('断言'):
assert actual==expect, f'预期:{a}+({b})={expect},实际:{a}+({b})={actual}'
测试报告Behavior部分
编写测试代码文件ceshi_calc_div03.py,测试div函数,加入用例标题、用例描述、测试大步骤、测试小步骤
div_cases=[['两个正数相除',1,2,0.5], ['正数除以零',2,0,'除数不能为零'], ['两个负数相除',-1,-2,0.5], ['零除以正数',0,2,0]]
@pytest.mark.parametrize('case_title, a, b, expect', div_cases)
@allure.suite('计算器除法测试')
@allure.epic('计算器算数运算-epic')
@allure.feature('计算器除法运算-feature')
@allure.story('除法测试-story')
@allure.step('除法测试-大step-{case_title}')
@allure.title('除法测试用例标题-{case_title}')
@allure.description('除法测试用例描述')
def test_div(case_title,a,b,expect):
with allure.step('调用div函数'):
actual=div(a, b)
with allure.step('断言'):
assert actual==expect, f'预期:{a}-({b})={expect},实际:{a}-({b})={actual}'
小结
- @allure.title
- 指定用例标题
- @allure.description
- 指定用例描述
- @allure.step
- 指定测试大步骤
- with allure.step
- 指定测试小步骤