""""
使用unittest框架设计mypath的单元测试用例(讲述unittest的特性)
1、导包,不需要安装
2、建一个单元测试类
3、
setUp()、test_xxx()、tearDown(),不管怎么调整顺序执行顺序不变
setUp():准备条件,资源初始化
test_xxx():测试用例,把测试步骤写在这里
tearDown():测试用例的资源释放
"""
import unittest
class unitmypath(unittest.TestCase):
def setUp(self) -> None:
print("nb昂")
def test_case1(self):
print("waiq")
def tearDown(self) -> None:
print("我是tearDown")
if __name__ == '__main__':
unittest.main()
""""
使用unittest框架设计mypath的单元测试用例(讲述unittest的特性)
1、导包,不需要安装
2、建一个单元测试类
3、
setUp()、test_xxx()、tearDown(),不管怎么调整顺序执行顺序不变
setUp():准备条件,资源初始化
test_xxx():测试用例,把测试步骤写在这里
tearDown():测试用例的资源释放
@classmethodz注解方法是类方法,不用创建对象他也能用,他在对象进内存之前就已经存在的方法,随着类一起进的内存
setUpClass:给当前单元测试类所有的用例进行初始化
tearDownClass:给当前单元测试类所有的用例进行资源释放
setUpClass和setUp()区别
setUp()不需要@classmethod注解;setUpClass方法需要@classmethod注解
setUp()实例方法:需要创建对象再调用;setUpClass方法:不需要创建对象也可以调用
setUp()在每一个测试用例执行之前执行一次;setUpClass方法在测试执行之前只执行一次
setUp()是对一条测试用例进行初始化;setUpClass方法给当前单元测试类所有的用例进行初始化
4、创建测试用例:
test开头的方法
"""
import unittest
class unitmypath(unittest.TestCase):
@classmethod
def setUpClass(cls) -> None:
print("我是setupclass方法")
@classmethod
def tearDownClass(cls) -> None:
print("我是teardownclass方法")
def setUp(self) -> None:
print("我是setUp方法")
self.mm =mymath()
def test_add_1(self):
print("我是第一条测试用例")
actuallval = self.mm.jia(10,12)
exceptval = 22
self.assertEqual(actuallval,exceptval,"预期结果和实际不相等")
def test_add_2(self):
print("我是第二条测试用例")
actuallval = self.mm.jia("abc","123")
exceptval = "abc123"
self.assertEqual(actuallval,exceptval,"预期结果和实际不相等")
def test_chengfa_3(self):
print("我是第三条测试用例")
actuallval = self.mm.chengfa(12,2)
exceptval = 24
self.assertEqual(actuallval,exceptval,"预期结果和实际不相等")
def tearDown(self) -> None:
print("我是tearDown")
self.mm = None
class mymath():
def jia(self,a,b):
return a+b
def jian(self,a,b):
return a-b
def chengfa(self,a,b):
return a*b
if __name__ == '__main__':
unittest.main()