一.核心组件
1.TestCase:测试用例类,用来定义测试用例函数
2.TestSuite:测试套件,用来收集测试用例
3.TestRunner:测试用例运行类,用来执行测试用例,以套件执行
4.TestFixTure:测试脚手架,测试前置条件、后置处理
二.测试流程(如何做自动化测试)
1.定义测试用例类,在测试用例类中写测试方法
2.收集要执行的测试用例类或文件里面的测试方法,放到测试套件
3.将收集好的测试条件放到测试用例运行器去执行,并收集测试结果
4..做好前置条件、后置处理
三.如何写测试用例(TestCase)
1.导入模块 import unittest
2.定义一个测试用例类:类名必须Test开头
3.定义测试方法:测试方法也必须test开头,必须写在测试用例类里面
4.unittest.main()自动收集当前py文件的测试用例,然后执行
四.测试用例包含哪些内容
1.前置条件(如果没有可以不写):sql执行、数据库连接创建、工具类的实例化
2.测试步骤(业务逻辑):数据替换、数据驱动
3.测试结果断言:响应结果断言、数据库数据断言
4.后置处理(如果没有可以不写):数据清理、数据库连接关闭
五.前置后置
1.类级别
前置:整个测试用例类执行之前执行一次
后置:整个测试用例类执行之后执行一次
@classmethod
def setUpClass(cls) -> None:
print("类级别的 前置")
@classmethod
def tearDownClass(cls) -> None:
print("类级别的 后置")
2.函数级别
前置:每个测试用例执行之前执行一次
后置:每个测试用例执行之后执行一次
# 函数级别的前置
def setUp(self) -> None:
print("函数级别的 前置")
# 函数级别的后置
def tearDown(self) -> None:
print("函数级别的 后置")
六.用例执行顺序
1.按照ASCII码顺序
2.查找对应字符的ASCII码
print(ord("a"))
3.将ASCII码转换为对应的字符
print(chr(97))
七.用例断言(继承testcase类)
self.assertEqual(a,b) # a==b
self.assertNotEqual(a,b) # a!=b
self.assertTrue(x) # bool(x) is Ture
self.assertFalse(x) # bool(x) is False
self.assertIn(a,b) # a in b
self.assertNotIn(a,b) # a not in b
self.assertIs(a,b) # a is b
self.assertIsNot(a,b) # s is not b
特点:
1.unittest以程序运行过程中是否抛出异常来判断用例是否执行成功
2.如果断言失败程序会抛出异常,框架就会把这个用例标记为失败
3.只要程序执行过程中抛出其他异常,框架也会捕获异常将用例标记为失败
八、异常捕获与异常抛出
1.try...except
2.try:
self.assertEqual(a, b)
except Exception as e:
raise AssertionError(e)
698
17
86
210
53
8
21
303
欢迎来到testingpai.com!
注册 关于