基于Unitest与Pytest自动化测试框架的二次封装与优化实战

一、测试框架对比

Python技术栈中的单元测试框架非常多,我们主要考虑主流框架,因为这些框架功能强大、文档健全、社区支持力度大,在使用过程中遇到任何问题都能很快地找到解决方案或者技术支持。

常见的测试框架有以下3种:

1. unittest框架

unittest是Python自带的标准库中的测试框架,它有时也被称为PyUnit。使用过Java的工程师可能会想起JUnit,unittest就相当于Python版的JUnit。

2. nose框架

nose框架属于第三方模块,需要单独安装,使用方式比unittest更简单。nose框架可以自动识别继承于unittest.TestCase的测试单元并执行测试,而且还可以测试非继承于unittest.TestCase的测试单元。nose框架提供了丰富的API,便于编写测试代码。

nose框架拥有很多内置的插件,可以帮助测试人员进行输出结果抓取、错误查找、代码覆盖、文档测试(Doctest)等。如果不喜欢这些内置插件提供的功能,或者这些插件不能满足项目结构,那么可以自定义开发插件来完成需要的功能。

3. pytest框架

pytest是一款第三方测试框架,它主要有以下特点:

  • 使用简单、灵活,容易入门。
  • 支持参数化编程。
  • 能够支持各种复杂程度的功能测试(从简单到复杂),还可以搭配其他自动化框架如Selenium或者Appium一起工作,完成接口自动化测试。
  • 具有第三方插件,可以自定义扩展,如pytest-selenium用于集成Selenium,pytest-

猜你喜欢

转载自blog.csdn.net/qq_35029061/article/details/130051382