unittest模块是python自带的一个单元测试模块,可以进行单元测试。
unittest模块包含是如下几个子模块:
测试用例:TestCase
测试集:TestSuite
加载用例:TestLoader
执行用例:TextTestRunner
1、unittest中的方法-setup和teardown
方法分类:
类方法:类方法只执行一次
实例方法:实例方法每次运行用例都执行
执行顺序:
setupClass->setUp->testA->tearDown->tearDownClass
用例之间按用例名称ASCII码的顺序加载,数字和字母顺序1-9,A-Z,a-z
2、unittest中的方法-断言方法
![](https://img-blog.csdnimg.cn/20210710205026599.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2J0eTU0MTI=,size_16,color_FFFFFF,t_70)
3、编写测试用例
引用TestCase,需要引入unittest模块
引用TestCase是编写一个测试类,所以需要新建一个类
import unittest
class TestCase(unittest.TestCase):
def test_01(self):
print('用例1')
def test_02(self):
print('用例2')
if __name__ == '__main__':
unittest.main()
unittest.main()运行用例,测试方法以test开头,即是一个具体的测试用例
执行完成后:
一个点. :表示用例pass
F :表示用例fail
E :表示系统异常
s :代表用例跳过
4、生成测试集
利用unittest.main()执行所有用例,但是有时候不需要执行所有的用例,可以按照自己的要求去添加用例,这个时候使用TestSuite实现单元测试
import unittest
suit = unittest.TestSuite()
suit.addTest(测试类类名(测试方法名))
addTest是其中一种加载测试用例的方式,还有一种是通过TestLoadder来加载测试
通过测试类来加载用-loadTestsFromTestCase
suit = unittest.TestSuite()
loder = unittest.TestLoader()
suit.addTest(loader.loadTestsFromTestCase(测试类类名))
通过测试类所在模块加载测试用例--loadTestsFromModule
suit = unittest.TestSuite()
loder = unittest.TestLoader()
suit.addTest(loader.loadTestsFromModule(测试模块名))
5、执行测试用例
执行测试用例,用到TextTestRunner模块,生成一个用例‘执行器’专门来执行用例
新建一个run.py文件
import unittest
runner = unittest.TextTestRunner()
runner.run(测试用例集)