unittest框架第一节TestCase

""""
使用unittest框架设计mypath的单元测试用例(讲述unittest的特性)
1、导包,不需要安装
2、建一个单元测试类
3、
setUp()、test_xxx()、tearDown(),不管怎么调整顺序执行顺序不变
setUp():准备条件,资源初始化
test_xxx():测试用例,把测试步骤写在这里
tearDown():测试用例的资源释放



"""
import unittest
# 创建一个单元测试类
class unitmypath(unittest.TestCase):
    # 方法名不能改,self参数不能少
    def setUp(self) -> None:
        print("nb昂")

    # 必须是test开头的方法,self参数不能少
    def test_case1(self):
        print("waiq")

    # 方法名不能改,self参数不能少
    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):
    #一种注解,在python,java语言中使用给方法特定的含义
    @classmethod
    def setUpClass(cls) -> None:
        print("我是setupclass方法")
        # 3个用例,其中第一个需要a条件,其中第二个需要b条件,其中第三个需要c条件,三个都需要d条件
        # abc,可以放在test开头的方法中的,d条件都需要放在setUp()中(建议这么做), setUpClass也可以


    @classmethod
    def tearDownClass(cls) -> None:
        print("我是teardownclass方法")

    # 方法名不能改,self参数不能少,写test中公用的代码
    def setUp(self) -> None:
        print("我是setUp方法")
        self.mm =mymath()

    # 必须是test开头的方法,self参数不能少
    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,"预期结果和实际不相等")

    # 方法名不能改,self参数不能少
    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()

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值