pytest.ini 常用参数
时间: 2023-09-29 15:06:43 浏览: 143
pytest.ini 是 pytest 的配置文件,可以用来配置 pytest 的行为。常用的参数包括:
- [pytest] 部分:可以设置全局配置选项,如 addopts、markers、python_files、python_classes、python_functions 等。
- [testenv] 部分:可以为某个测试环境单独设置配置选项,如 base_url、username、password 等。
- [pytest-watch] 部分:可以设置 pytest-watch 插件的配置选项,如 ignore、ext、patterns 等。
以下是一些常用的参数说明:
- addopts:指定 pytest 命令行选项
- markers:定义 pytest 的 marker,用于标记测试用例
- python_files:指定 pytest 运行时要搜索的文件名模式
- python_classes:指定 pytest 运行时要搜索的测试类名模式
- python_functions:指定 pytest 运行时要搜索的测试函数名模式
- filterwarnings:过滤 pytest 运行时产生的警告信息
- log_cli:指定 pytest 的日志输出方式
- console_output_style:指定 pytest 运行时的控制台输出风格
- junit_family:指定 pytest 生成的 junit 文件版本
具体的参数说明可以参考 pytest 官方文档。
相关问题
Pytest中的常用内容
Pytest是一个功能强大的Python自动化测试框架,下面是Pytest中的常用内容:
1. 断言(assert):Pytest中的assert语句可以用于判断测试结果是否符合预期,例如assert a == b表示判断a是否等于b。
2. Fixture:Fixture是Pytest的一个重要概念,它可以用于在测试之前进行一些准备工作,例如创建测试数据、初始化数据库等。Fixture可以在测试函数中通过参数注入的方式进行使用。
3. 参数化(Parametrize):Pytest支持对测试用例进行参数化,从而在同一个测试函数中执行多组测试数据,可以通过@pytest.mark.parametrize装饰器进行使用。
4. 插件(Plugin):Pytest支持多种插件,例如测试报告插件、测试覆盖率插件、分布式测试插件等,可以通过安装和配置插件来扩展Pytest的功能。
5. 命令行选项和参数:Pytest支持多种命令行选项和参数,例如运行指定目录下的测试用例、指定测试用例名称、生成HTML测试报告等,可以通过pytest命令行工具进行使用。
6. 测试标记(Mark):Pytest支持对测试用例进行标记,例如标记某个测试用例为“重要”、“快速”、“跳过”等,可以通过@pytest.mark.xxx进行使用。
7. 测试收集和执行:Pytest会自动收集测试用例,并按照指定的规则执行测试,可以通过pytest.ini文件进行配置。
以上是Pytest中的常用内容,Pytest还有很多其他的功能和特性,例如钩子函数、测试夹具、测试过滤等,可以根据测试需求和场景选择合适的功能进行使用。
Pytest中的常用内容实例
以下是Pytest中的常用内容的一些实例:
1. 断言(assert):
```python
def test_add():
assert 1 + 1 == 2
```
2. Fixture:
```python
@pytest.fixture()
def prepare_data():
data = [1, 2, 3, 4, 5]
return data
def test_data(prepare_data):
assert len(prepare_data) == 5
```
3. 参数化(Parametrize):
```python
@pytest.mark.parametrize("a, b, result", [(1, 2, 3), (4, 5, 9), (7, 8, 15)])
def test_add(a, b, result):
assert a + b == result
```
4. 插件(Plugin):
安装pytest-html插件:
```bash
pip install pytest-html
```
使用pytest-html生成测试报告:
```bash
pytest --html=report.html
```
5. 命令行选项和参数:
运行指定目录下的测试用例:
```bash
pytest tests/
```
指定测试用例名称:
```bash
pytest -k "test_add"
```
生成HTML测试报告:
```bash
pytest --html=report.html
```
6. 测试标记(Mark):
```python
@pytest.mark.slow
def test_slow():
time.sleep(5)
assert True
@pytest.mark.skip(reason="not implemented yet")
def test_not_implemented():
assert False
```
7. 测试收集和执行:
在pytest.ini文件中指定测试文件的匹配规则:
```ini
[pytest]
python_files = test_*.py
```
以上是Pytest中的常用内容的一些实例,可以根据需要进行调整和扩展。
阅读全文