一、单元测试框架unittest入门
用import语句引入unittest模块
测试的类都继承于TestCase类
- setUp() 测试前的初始化工作
- tearDown()测试后的清除工作 (在每个测试方法运行时被调用)
断言 :self.assertEqual()
# -*- coding: UTF-8 -*-
import unittest
class UserTestCase(unittest.TestCase):
def setUp(self):
print(" set up 开始")
def tearDown(self):
print("tearDown 执行结束")
def testCase1(self):
print("test case1")
def testCase2(self):
print("test case2")
if __name__ == '__main__':
unittest.main()
```
1、所有类中方法的入参为self,定义方法的变量也要“self.变量
2、定义测试用例,以“test”开头命名的方法,方法的入参为self
3、unittest.main()方法会搜索该模块下所有以test开头的测试用例方法,并自动执行它们
4、自己写的py文件不能用 unittest.py 命名,不然会找不到TestCase
5、用例成功是输出 . 失败是 F
二、小练习
- setUp和tearDown 每次用例执行前都会执行初始化条件和结束条件
- 执行所有用例只运行一次初始化和清理条件,用setupclass、teardownclass
@classmethod #注解
def setUpClass(cls):
print("在所有的测试用例执行之前,只执行一次============")
@classmethod
def tearDownClass(cls):
print("在所有的测试用例执行之后,只执行一次============")
跳过某条用例
@unittest.skip("跳过这个")
def testCase3(self):
print("test case3")
self.assertEqual(1, 1)
输出测试用例执行情况
unittest.main(verbosity=2)
# verbosity
1为默认值
0的话最简洁,不输出每个用例执行结果
2 输出用例的详细执行结果