一、Python之unittest
基本概念
unittest 单元测试框架是受到 JUnit 的启发,与其他语言中的主流单元测试框架有着相似的风格。其支持测试自动化,配置共享和关机代码测试。支持将测试样例聚合到测试集中,并将测试与报告框架独立。
它分为四个部分test fixture、TestCase、test suite、test runner,分别是:
测试脚手架:为了开展项测试所需要进行的准备工作,以及所有相关的清理操作;
测试用例:一个测试用例是一个独立的测试单元。它检查输入特定的数据时的响应;
测试套件:它用于归档需要一起执行的测试用例;
测试运行器:是一个用于执行和输出测试结果的组件。
TestCase详解
类TestCase为测试用例提供了支持。通过继承TestCase来设置一个新的测试类,和设置测试方法,每个测试方法通过实际响应结果与预期结果对比来实现单元测试。
测试用例包括的方法:setUp()、tearDown()、setUpClass()、tearDownClass(),注意类名要以Test开头,测试用例的名称要以test开头。
下面一个示例来展示:
import unittest
class Test_unittest(unittest.TestCase):
def setUp(self) -> None:
print('setup')
def test(self):
print('test')
def tearDown(self) -> None:
print('teardown')
if __name__ == '__main__':
unittest.main()
可以看到运行结果打印了三条测试用例里的内容,setup和teatdown方法,在每次执行测试用例前后都会执行,如果在增加一条测试用例,setup和teardown也会再执行一次,如下图所示
所以如果想初始化和结束方法只想执行一次的话,可以使用setUpClass()、tearDownClass(),但是注意得在方法前面添加注解@classmethod,看下面示例和结果:
......
查看更多精彩内容,请点击下载:
版权声明:本文出自《51测试天地》第六十五期。51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。