pytest框架如何跳过报错的用例继续执行
时间: 2024-03-24 17:39:22 浏览: 81
基于pytest框架的pytestDemo测试用例设计源码
在 pytest 中,可以使用 `pytest.mark.skip` 装饰器来跳过某个测试用例。你可以在测试用例函数上添加这个装饰器,当测试用例的某个条件不满足时,pytest 将会跳过这个测试用例,继续执行其他的测试用例。
例如,假设我们有一个测试用例函数 `test_divide_by_zero`,用于测试除以 0 的情况,如果除数为 0,则这个测试用例会抛出 `ZeroDivisionError` 异常。我们可以使用 `pytest.mark.skip` 装饰器来跳过这个测试用例:
```python
import pytest
def test_divide_by_zero():
with pytest.raises(ZeroDivisionError):
1 / 0
@pytest.mark.skip(reason="除数为 0,暂不支持")
def test_divide_by_zero_skip():
with pytest.raises(ZeroDivisionError):
1 / 0
```
在这个例子中,我们使用 `pytest.mark.skip` 装饰器来跳过 `test_divide_by_zero_skip` 这个测试用例,同时在装饰器中添加了一个原因,以便更好地说明为什么要跳过这个测试用例。
当我们运行 pytest 时,pytest 将会跳过被 `pytest.mark.skip` 装饰的测试用例,同时输出跳过的原因:
```
$ pytest
============================= test session starts =============================
platform linux -- Python 3.x.y, pytest-6.x.y, py-1.x.y, pluggy-1.x.y
rootdir: /path/to/test/directory
collected 2 items
test_example.py .s [100%]
============================== 1 passed, 1 skipped ==============================
```
在这个例子中,我们看到 pytest 跳过了 `test_divide_by_zero_skip` 这个测试用例,并且输出了跳过的原因。
阅读全文