@pytest.mark.dependency 是什么
时间: 2023-12-19 17:07:19 浏览: 110
`@pytest.mark.dependency` 是 `pytest-dependency` 插件提供的一个装饰器,用于在测试用例之间建立依赖关系。在测试过程中,如果存在依赖关系,则必须按照依赖关系的顺序执行测试用例,并且如果存在依赖关系的测试用例失败,则依赖于它的测试用例也将被跳过。
下面是一个使用 `@pytest.mark.dependency` 的示例:
```python
import pytest
@pytest.mark.dependency()
def test_a():
assert True
@pytest.mark.dependency(depends=["test_a"])
def test_b():
assert True
@pytest.mark.dependency(depends=["test_a", "test_b"])
def test_c():
assert True
```
在上面的示例中,我们定义了三个测试函数 `test_a`、`test_b` 和 `test_c`。我们使用 `@pytest.mark.dependency` 装饰器来指定它们之间的依赖关系。具体来说,`test_b` 依赖 `test_a`,`test_c` 依赖 `test_a` 和 `test_b`。
在测试过程中,如果 `test_a` 失败,那么 `test_b` 和 `test_c` 都将被跳过。如果 `test_a` 成功,但 `test_b` 失败,那么 `test_c` 将被跳过。
注意,要使用 `@pytest.mark.dependency`,需要先安装 `pytest-dependency` 插件。可以使用 `pip` 命令进行安装:
```
pip install pytest-dependency
```
阅读全文