前言:什么是单元测试
单元测试就是测试一个函数或者方法
1.单元测试框架。
TestCase:一个testcase的实例就是一个测试用例
TestSuite:测试套件,用例把用例收集在一起
TestLoader:用来加载用例到测试套件中
TextTestRunner:运行测试用例
Fixture:包含setUp和tearDown两个方法,分别用来创建和销毁测试环境
2.使用unittest做单元测试的步骤:
(1)导入unittest模块:import unittest
(2)导入被测试对象:import 测试类
(3)创建一个测试类并继承unittest.TestCase
(4)重写setUp和tearDown方法(如果有初始化条件和结束条件)(可选)
(5)以方法的形式写测试项:方法名以test_开头
(6)使用unittest.main()运行测试用例
3.常用的断言函数:
方法 | 检查 | 功能描述 |
---|---|---|
assertEqual(self, first, second, msg=None) | a==b | 如果两个对象不相等,则失败,msg可以用来指定失败时的提示信息。 |
assertNotEqual(self, first, second, msg=None): | a!=b | 断定预期结果a和实际结果b不相等。 |
4.常用函数;
函数 | 功能说明 |
---|---|
unittest.TestSuite() | 创建suite对象 ,用于测试存放测试用例 |
unittest.TestLoader() | 创建用例加载器,用于加载测试用例 |
unittest.TestSuite().addTest() | 向suite中添加用例,把测试用例添加到测试套件中 |
unittest.TextTestRunner() | 创建用例运行器 |
unittest.TextTestRunner().run(suite) | 使用用例运行期运行suite |
5.unittest.TestSuite()类来表示一个测试用例集,把需要执行的用例类或模块存到一起,常用的方法如下:
(1) unittest.TestSuite()
addTest():添加单个测试用例方法
addTest([..]):添加多个测试用例方法,方法名存在一个列表
(2)unittest.TestLoader()
loadTestsFromTestCase(测试类名):添加一个测试类
loadTestsFromModule(模块名):添加一个模块
discover(测试用例的所在目录):指定目录去加载,会自动寻找这个目录下所有符合命名规则的测试用例
6.TestRunner执行测试用例
runner = unittest.TextTestRunner()
runner.run(suite)
7.生成测试报告:
导入BeautifulReport: from BeautifulReport imnport BeautifulReport
BeautifulReport(suite).report("测试报告标题", filename="测试报告文件名", report_dir=‘测试报告文件路径‘)
原文:https://www.cnblogs.com/iriswangjiang/p/13936753.html