下面来看一些python的单元测试框架unittest。
unittest单元测试框架不仅可以适用于单元测试,还可以适用WEB自动化测试用例的开发 与执行,该测试框架可组织执行测试用例,并且提供了丰富的断言方法,判断测试用例是否通过,最终生成测试结果。
unittest官网: https://docs.python.org/zh-cn/3/library/unittest.html
unittest 单元测试框架是受到JUnit的启发,与其他语言中的主流单元测试框架有着相似的风格。其支持测试自动化,配置共享和关机代码测试。支持将测试样例聚合到测试集中,并将测试与报告框架独立。
测试用例
一个测试用例是一个独立的测试单元。它检查输入特定的时间时的响应。unittest提供一个基类:TestCase,用于新建测试用例。
测试套件
test suite是一系列的测试用例,或测试套件,或两者皆有。它用于归档需要一起执行的测试。
测试运行器(test runner)
test runner是一个用于执行和输出测试结果的组件。这个运行器可能使用图形接口、文本接口,或返回一个特定的值表示运行测试的结果。
基本实例
unittest模块提供了一系列创建和运行测试的工具。这一段落演示了这些工具的一小部分,但也足以满足大部分用户的需求。
继承unittest.TestCase就创建了一个测试样例。方法的命名都以test开头。这个命名约定告诉测试运行着类的哪些方法表示测试。
每个测试的关键是:调用assertEqual()来检查预期的输出;调用assertTrue()或assertFalse()来验证一个条件;调用assertRaises()来验证抛出一个特定的异常。使用这些方法而不是assert语句是为了让测试运行者能聚合所有的测试结果并产生结果报告。
通过setUp()和tearDown()方法,可以设置测试开始前与完成后需要执行的指令。
最后的代码块中,演示了运行测试的一个简单的方法。unittest.main()提供了一个测试脚本的命令行接口。
==========================================================================
参考上海-悠悠的博客,提到python鄙视链:pytest 鄙视 > unittest 鄙视 > robotframework 鄙视 > 记流水账 鄙视 > "hello world"小白。
好吧,作为小白的我,为了不被鄙视,我改学pytest了,有时间的话,再学习unittest;