使用pytest_assume处理失败断言后在allure怎么展示为红色
时间: 2024-10-19 12:02:26 浏览: 19
pytest_allure_test.zip
当你在Python测试框架Pytest中使用`pytest.mark.assume`标记来跳过某些假设条件下的测试,并且这些条件未满足导致断言失败时,Allure是一个用于测试报告的强大工具。默认情况下,Allure会将这部分视为失败的测试用例,并将其颜色显示为红色。
要在Allure报告中展示这样的断言失败,你需要确保你在测试运行时配置了Allure插件,并且它能够捕获到`pytest.mark.assume`的情况。通常,这涉及到在测试运行时设置Allure的环境变量,例如:
```python
import allure
@allure.epic("我的测试集")
@pytest.mark.parametrize("param", [value1, value2])
def test_with_assume(param):
@allure.story("测试故事")
def inner_test():
if some_condition: # 假设条件
allure.attach('这是假设条件', 'Assuming this condition is true')
pytest.mark.assume(some_condition) # 使用pytest标记
else:
assert some_condition, "假设条件不成立"
inner_test()
```
当`some_condition`未满足时,`pytest.mark.assume`会使测试中断,Allure会记录这次假设失败并将其标记为红色。Allure报告会包含一个“假设”标签,明确表示这部分是由于假设条件未满足而引起的。
阅读全文