1. pytest具有什么功能
a. 自动发现和执行测试用例:pytest可以自动发现项目中的测试文件和测试函数,无需手动编写测试套件或测试运行器。
b. 丰富的断言函数:pytest提供了丰富的断言函数,方便地验证测试结果是否符合预期。断言函数可以比较值、集合、异常等。
c. 参数化测试:pytest支持使用装饰器@pytest.mark.parametrize来标记测试函数,避免编写重复的测试代码。
d. 夹具(fixture)支持:夹具是pytest的一个重要概念,在测试函数执行前后进行准备和清理工作的机制。便于共享测试资源和重用测试代码。
e. 插件机制:pytest具有丰富的插件生态系统,通过安装和配置插件来扩展和定制pytest的功能。插件用于生成自定义的测试报告、执行覆盖率分析、集成其他工具等。
f. 丰富的命令行选项:pytest提供许多命令行选项,用于过滤测试用例、配置测试的运行方式、控制日志输出等。
g. 异常和失败处理:pytest能够处理测试用例中的断言失败和异常情况,并提供详细的错误信息和调试信息,方便问题定位和排查。
h. 测试收集和运行控制:pytest根据目录结构、文件名和自定义规则来收集和运行测试用例。通过配置文件或命令行选项来控制测试的范围和顺序。
i. 与其他测试框架的兼容性:pytest可以与其他常见的测试框架(如unittest)兼容,运行已经编写的测试代码,无需进行大量的修改。
2. 使用pytest的方法
a. 安装pytest
python
pip install pytest
b. 编写测试用例:在项目中创建一个目录,用于存放测试代码。在该目录中,编写测试用例的Python文件。测试用例是普通的Python函数,以test_开头,并使用assert语句来验证结果。
python
# test_example.py
def test_addition():
assert 2 + 2 == 4
def test_subtraction():
assert 5 - 3 == 2
c. 运行测试:在命令行中,切换到项目目录下,然后运行pytest命令。pytest会自动发现并执行项目中的测试用例。
python
pytest
d. 查看测试结果:pytest会输出测试结果的摘要信息,包括测试用例的数量、通过的数量和失败的数量。如果有测试失败,pytest会提供详细的错误信息。
python
============================= test session starts ==============================
...
collected 2 items
test_example.py .. [100%]
=========================== 2 passed in 0.01 seconds ===========================
互联网大厂测开经历,目前担任测试开发负责人,每天分享互联网面经,如果你有测试相关的问题,欢迎咨询,海鲜市场【简历优化】、【就业指导】、【模拟/辅导面试】,已辅导20位以上同学拿到心仪offer