pytest mark用法
时间: 2023-08-12 16:55:20 浏览: 49
pytest mark用于在pytest测试框架中对测试函数或类进行标记,以便在运行测试时进行选择和过滤。它可以帮助我们根据不同的标记运行特定的测试集合。
pytest mark的用法包括以下几个方面:
1. 标记测试函数:可以通过在测试函数上使用`@pytest.mark.<标记名>`装饰器来添加标记。例如,给一个测试函数添加"smoke"标记可以使用`@pytest.mark.smoke`。
```python
import pytest
@pytest.mark.smoke
def test_function():
# 测试代码
pass
```
2. 标记测试类:可以通过在测试类上使用`@pytest.mark.<标记名>`装饰器来添加标记。例如,给一个测试类添加"smoke"标记可以使用`@pytest.mark.smoke`。
```python
import pytest
@pytest.mark.smoke
class TestClass:
# 测试方法
def test_method(self):
# 测试代码
pass
```
3. 运行特定标记的测试集合:在命令行中使用`-m`选项,结合标记名来运行特定标记的测试集合。例如,运行所有带有"smoke"标记的测试可以使用`pytest -m smoke`。
```bash
pytest -m smoke
```
4. 跳过特定标记的测试:在命令行中使用`-m`选项,结合`not`关键字和标记名来跳过特定标记的测试。例如,跳过所有带有"slow"标记的测试可以使用`pytest -m "not slow"`。
```bash
pytest -m "not slow"
```
这些是pytest mark的基本用法,它可以帮助我们更灵活地管理和运行测试集合。