python pytest框架举例
时间: 2024-04-10 08:24:57 浏览: 119
Python pytest是一个功能强大的测试框架,用于编写和运行单元测试、集成测试和功能测试。它提供了丰富的功能和灵活的用法,使得编写和运行测试变得简单而高效。
下面是一些Python pytest框架的特点和示例:
1. 简单易用:pytest提供了简洁的语法和易于理解的断言,使得编写测试用例变得简单而直观。
示例:
```python
def test_addition():
assert 2 + 2 == 4
def test_subtraction():
assert 5 - 3 == 2
```
2. 自动发现测试用例:pytest会自动发现以"test_"开头或以"_test"结尾的函数或方法作为测试用例,并执行它们。
示例:
```python
def test_multiply():
assert 3 * 4 == 12
def test_divide():
assert 10 / 2 == 5
```
3. 参数化测试:pytest支持使用@pytest.mark.parametrize装饰器来实现参数化测试,可以方便地对不同的输入进行测试。
示例:
```python
import pytest
@pytest.mark.parametrize("a, b, expected", [(2, 3, 5), (4, 5, 9)])
def test_addition(a, b, expected):
assert a + b == expected
```
4. 夹具(Fixture):pytest提供了夹具机制,可以在测试用例执行前后进行一些准备和清理工作,例如创建临时文件、启动和关闭数据库连接等。
示例:
```python
import pytest
@pytest.fixture
def setup():
# 执行一些准备工作
yield
# 执行一些清理工作
def test_something(setup):
# 使用夹具进行测试
assert True
```
5. 插件扩展:pytest支持通过插件来扩展其功能,例如生成测试报告、集成其他测试工具等。
示例:
```python
# 安装pytest-html插件:pip install pytest-html
# 运行测试并生成HTML报告
pytest --html=report.html
```
阅读全文