pytest 系列之基本总结和 allure 报告
2023-09-08 22:22:15
如今自动化测试框架可谓百家齐放,选择什么样的测试框架不光要考虑用户使用便利性,还需要考虑社区更新维护力度和成熟度。
pytest 作为一款成熟的自动化测试框架,其功能之强大无疑能满足绝大多数项目的自动化测试需求,其运行速度快,社区稳定度好,在业界内可谓口碑爆棚。
1. allure 报告和单元测试框架简介
1.1 allure 报告简介
allure 报告是一种用来展示单元测试结果的报告工具,它可以将单元测试的结果以直观的形式展示出来,方便用户查看和分析测试结果。allure 报告支持多种格式,包括 HTML、JSON 和 XML 等。
1.2 单元测试框架简介
单元测试框架是一种用于编写和运行单元测试的工具,它提供了一系列的 API,方便用户编写单元测试用例,并提供了运行测试用例的方法。单元测试框架有很多种,比如 pytest、unittest、nose 等。
1.3 allure 报告使用单元测试框架
allure 报告可以与多种单元测试框架一起使用,包括 pytest、unittest、nose 等。在使用 allure 报告时,用户需要先安装 allure 库,然后在编写单元测试用例时,需要使用 allure 库提供的 API 来记录测试结果。当单元测试用例运行完成后,allure 库会自动生成 allure 报告。
2. 单元测试框架和自动化测试框架的关系
单元测试框架和自动化测试框架都是用来编写和运行测试用例的工具,但两者之间存在着一些区别。
2.1 单元测试框架
单元测试框架主要用于编写和运行针对单个函数或类的测试用例。单元测试框架提供了一系列的 API,方便用户编写单元测试用例,并提供了运行测试用例的方法。
2.2 自动化测试框架
自动化测试框架主要用于编写和运行针对整个系统的测试用例。自动化测试框架通常会提供一些额外的功能,比如测试用例管理、测试结果展示等。
2.3 两者之间的关系
单元测试框架和自动化测试框架是相辅相成的。单元测试框架可以用来编写和运行针对单个函数或类的测试用例,而自动化测试框架可以用来编写和运行针对整个系统的测试用例。
3. pytest 执行过程
pytest 的执行过程大致可以分为以下几个步骤:
- 发现测试用例:pytest 会根据给定的命令行参数和配置,发现需要执行的测试用例。
- 加载测试用例:pytest 会将发现的测试用例加载到内存中。
- 执行测试用例:pytest 会根据给定的命令行参数和配置,执行加载的测试用例。
- 收集测试结果:pytest 会收集执行测试用例的结果。
- 生成测试报告:pytest 会根据收集的测试结果,生成测试报告。
4. pytest 断言
断言是用来验证测试用例执行结果是否符合预期的工具。pytest 提供了一系列的断言方法,方便用户编写断言语句。pytest 的断言方法主要有以下几种:
- assertEqual:比较两个值是否相等。
- assertNotEqual:比较两个值是否不相等。
- assertTrue:判断一个值是否为 True。
- assertFalse:判断一个值是否为 False。
- assertIsNone:判断一个值是否为 None。
- assertIsNotNone:判断一个值是否不为 None。
5. 总结
pytest 是一款成熟的自动化测试框架,其功能之强大无疑能满足绝大多数项目的自动化测试需求,其运行速度快,社区稳定度好,在业界内可谓口碑爆棚。