pytest中的markers
时间: 2023-10-12 22:16:45 浏览: 43
在 pytest 中,markers 是一种用于在测试函数或测试类上标记特定属性的装饰器。它们可以用来控制测试的行为和组织方式。
常见的 pytest markers 有:
- @pytest.mark.skip(reason):跳过测试原因。
- @pytest.mark.xfail(reason):标记测试预期失败。
- @pytest.mark.parametrize(argnames, argvalues):参数化测试。
- @pytest.mark.timeout(timeout):设置测试超时时间。
- @pytest.mark.parametrize(('input', 'expected_output'), [(input1, expected_output1), (input2, expected_output2)]):参数化测试,同时传入多组参数。
可以通过在命令行中使用 `-m` 选项来运行特定标记的测试,例如:
```
$ pytest -m slow
```
这将只运行被 `@pytest.mark.slow` 标记的测试。
相关问题
pytest中的Mark
pytest中的Mark是一种标记机制,可以用于标记测试用例或测试用例集合,以便于在运行测试时选择性地执行或排除某些测试用例。Mark可以通过装饰器或pytest.ini文件进行添加,也可以通过命令行参数进行指定。
以下是一些使用Mark的例子:
1.使用装饰在测试用例上添加Mark:
```python
import pytest
@pytest.mark.smoke
def test_login():
# 测试用例代码
pass
@pytest.mark.regression
def test_register():
# 测试用例代码
pass
```
2.使用pytest.ini文件在测试用例上添加Mark:
```ini
[pytest]
markers =
smoke: 标记为冒烟测试
regression: 标记为回归测试
```
3.使用命令行参数指定Mark:
```bash
pytest -m smoke # 执行所有标记为smoke的测试用例
pytest -m "not regression" # 执行除了标记为regression的测试用例以外的所有测试用例
```
pytest中的参数全称
pytest中的参数全称是"pytest命令行选项"。这些选项可以在运行pytest时使用,用于控制测试的行为和配置。常见的pytest命令行选项包括:
- `--verbose`:显示详细的测试结果。
- `--quiet`:只显示测试结果的总结信息。
- `--tb=style`:设置traceback的显示风格,例如"short"、"long"、"line"等。
- `--maxfail=num`:指定最大允许失败的测试数量。
- `--junit-xml=path`:生成JUnit XML格式的测试报告。
- `--cov=path`:开启代码覆盖率报告,并指定报告文件的路径。
- `--pdb`:在测试失败时自动进入调试器。
- `--markers`:显示所有可用的标记(marker)。
这里只列举了一些常用的选项,pytest还有更多的命令行选项可供使用。你可以通过运行`pytest --help`命令来查看所有可用的选项及其说明。