0
点赞
收藏
分享

微信扫一扫

python单元测试框架unittest学习笔记二--TestCase、TestSuite、TestLoader、TextTestRunner

木樨点点 2022-04-19 阅读 38
python

unittest框架中各元素的学习

1、TestCase类

unittest.TestCase()类的实例表示单元测试宇宙中的逻辑测试单元。此类旨在用做基类,其子类将实现特定的测试用例。此类实现测试运行程序所需的接口,以允许它驱动测试,以及测试代码可用于检查和报告各种故障的方法

即每个测试函数必须继承TestCase类,测试函数并以test_开头命名

语法:

1.导入unitest包

2.定义测试类:新建测试类必须继承unitest.TestCase

3.定义测试方法:测试方法名称命名必须以test开头

4.调用unitest.main()函数执行测试用例

二、TestSuite

说明:测试套件 多条测试用例集合在一起,就是一个testSuite

使用:

1、先实例化:suite = unnitest.TestSuit()

suite:为TestSuite实例化的名称

2、添加实例:suite.addTest(className("methodName"))

className 为类名;methodName为方法名

3、添加扩展:

suite.addTest(unnitest.makeSuite(className))

搜索指定className内的test开头方法并添加到测试套件中

以上步骤只能将测试用例的方法添加到测试套件中,并不能执行,如果要执行则需要TextTestrunner()方法来执行 

三、TextTestRunner

作用,执行suite中的测试用例

使用方法:

--先实例化TextTestRunner()实例对象

--调用对象的run方法

---只要把suite作为参数传递到run方法中

四、TestLoader

可以从指定目录查找指定的py文件中的所有测试用例,自动加载到TestSuite中

Testsuite和TestLoader的使用区别:

当只要执行py文件中多个测试用例中的几个,而不是全部执行时,那么使用testsuite的addtest方法加载指定的测试用例

当执行所有的py文件中的所有的测试用例时,那么使用TestLoader

小结:

所有的testcase最终都需要使用texttestrunner来执行

TextTestRunner执行的是TestSuite

一个TestSuite中可以有多个TestCase

 

 

 

举报

相关推荐

0 条评论