python的单元测试框架
1、Autotest
Autotest是Google、Redhat、IBM公司联合开发的分布式自动化测试框架,兼顾软硬件测试。基于Python,用于操作系统内核冒烟测试、服务器硬件验证等。使用Autotest有两个前提:被测机上需安装Python;测试发起机器与被测机间要建立无密码SSH信任关系。
2、Testoob
testoob是一个针对python的高级单元测试框架。它集成了现有的PyUnit(模块“UNITTEST”)测试套件,便于使用和进行扩展。目前使用人数和社区生态均较少。
3、Doctest
doctest是一个Python发行版自带的标准模块,利用文档的形式模拟代码的执行操作。采用交互式会话的Python代码片段,测试执行并验证结果,代码和测试用例没有进行分离。
4、TheHaskellTestFramework
允许一种简单方便的方式进行黑匣子测试,自动收集测试定义的自定义预处理器。预处理器允许用准确的文件名和行号信息报告失败的测试用例。可以为失败的测试生成高度可读的输出,目前用于单元测试使用人数较少。
5、TwistedTrial
对PyUnit的扩展,trial是Twisted的测试脚本程序,针对Linux的,编译好的trial在Windows下无法直接运行,前用于单元测试使用人数较少。
6、ShouldDSL
分布式测试工具,应用较少。
7、Green
Python测试运行程序,应用于单元测试人数较少。
8、Mock
Python用于支持单元测试的库,它的主要功能是使用mock对象替代掉指定的Python对象,以达到模拟对象的行为,然后验证后续的执行是否正确。在进行单元测试的时候,可以指定任何对象的返回值,便于测试对外部接口有依赖的代码(导入型代码)。从Python3.3开始,mock模块已经被合并到标准库中,被命名为unittest.mock,可以直接进行使用。
9、MOX
Python的基于mock的单元测试框架。应用案例和使用人数相对较少。
10、Tox
通用的虚拟环境管理和测试命令行工具。tox能够让我们在同一个Host上自定义出多套相互独立且隔离的python环境。用于运行静态代码分析、测试工具和自动化程序包构建,但应用单元测试较少。
11、Pytest
pytest是根据MIT许可的条款发行的免费和开源软件。
pytest是Python另一个第三方单元测试库。它的目的是让单元测试变得更容易,并且也能扩展到支持应用层面复杂的功能测试。pytest兼容unittest框架的代码,可以用来运行unittest测试用例。
pytest的特性有:
1)支持用简单的assert语句实现丰富的断言,无需复杂的self.assert*函数。
2)自动识别测试模块和测试函数。
3)兼容unittest和nose测试集。
4)支持Python3和PyPy3。
5)丰富的插件生态,已有300多个各式各样的插件,和活跃的社区。
用例编写:pytest支持函数、测试类形式的测试用例。并且可以方便地使用assert语句进行断言,不用担心在nose或unittest中产生的缺失详细上下文信息的问题。
用例发现和执行:unittest和nose所支持的用例发现和执行能力,pytest均支持。pytest支持用例自动(递归)发现:
默认发现当前目录下所有符合test_*.py或*_test.py的测试用例文件中,以test开头的测试函数或以Test开头的测试类中的以test开头的测试方法。执行指定用例:指定测试文件路径
以上内容为大家介绍了python的单元测试框架,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:千锋教育。http://www.mobiletrain.org/
相关推荐HOT
更多>>python如何显示中文字体
python显示中文字体的方法:在这里,你可以选择2种不同的解决方法方法一:定义声明好编码格式首先你要做的,是在打开写入文件时,声明encoding...详情>>
2023-11-12 23:32:23python3.6怎么打包
安装pyinstaller,python安装目录下shift+右键打开cmd或者Powershell窗口输入pipinstallpyinstallerpython安装目录下\Scripts文件夹下会出详情>>
2023-11-12 22:52:29python空格怎样设置
Python最具特色的是用缩进来标明成块的代码。我下面以if选择结构来举例。if后面跟随条件,如果条件成立,则执行归属于if的一个代码块。在Python...详情>>
2023-11-12 22:14:14Python中区分字符与字符串吗?
python中不区分字符与字符串,与C语言相比,Python没有字符类型,只有字符串类型。推荐学习《Python教程》。Python中的字符串是用双引号或单引...详情>>
2023-11-12 21:26:38