一、测试框架对比
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是一款第三方测试框架,它主要有以下特点:
- 使用简单、灵活,容易入门。