【30天学会接口自动化测试】接口自动化测试之Unittest的使用(4)

整理了一些软件测试方面的资料、面试资料(接口自动化、web自动化、app自动化、性能安全、测试开发等),有需要的小伙伴可以文末加入我的学习交流qun,无套路自行领取~

1.unittest简单运用

  • 概念:UnitTest框架是专门用来进行执行代码测试的框架

  • 使用UnitTest框架原因:

    1. 能够组织多个用例去执行
    2. 提供丰富的断言方法
    3. 提供丰富的日志与测试结果
  • 核心要素

    1. TestCase 测试用例
    2. TestSuite 测试组(多个测试用例合到一起)
    3. TextTestRunner文本执行
    4. Fixture 测试用例加头尾

2.TestCase测试用例

# TestCase 
import unittest

def add(x, y):
    return x + y
    # 错误显示
    # return x / y

class Testcase_01(unittest.TestCase):
    """测试用例"""
    def test_01(self):  # 测试方法必须以test开头
        print(add(1,1))
        # 错误显示
        # print(add(1,0))
    # def test_02(self):
	#	...
    # def test_03(self):
	#	...
if __name__ == '__main__':
    unittest.main()

# 正确结果:
.
2
----------------------------------------------------------------------
Ran 1 test in 0.000s

OK
# 错误结果:
E
======================================================================
ERROR: test_01 (__main__.Testcase_01)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "C:/Users/x1c/Desktop/untitled/mocktest.py", line 8, in test_01
    print(add(1,0))
  File "C:/Users/x1c/Desktop/untitled/mocktest.py", line 4, in add
    return x / y
ZeroDivisionError: division by zero

----------------------------------------------------------------------
Ran 1 test in 0.000s

FAILED (errors=1)

复制代码

3.TestSuite多条测试用例集合在一起

import unittest

# 导包
import unittest


def add(a, b):
    return a + b


# 继承unittest.TestCase类
    class TestCase01(unittest.TestCase):
        # 在每条用例执行前执行
        def setUp(self):
            print("setUp")
    
        # 在每条用例执行后执行
        def tearDown(self):
            print("tearDown")
    
        # 方法名必须以test开头
        def testcase_01(self):
            print("testcase_01")
            print("1 + 1 = ", add(1, 1))
            # self.assertEqual(2, add(1, 2))
    
        def testcase_02(self):
            print("testcase_02")
            print("2 + 2 = ", add(2, 2))
    
        def testcase_03(self):
            print("testcase_03")
            print("3 + 3 = ", add(3, 3))
    
    
    class TestCase02(unittest.TestCase):
        # 方法名必须以test开头
        def testcase_01(self):
            print("TestCase02_testcase_01")
    
        def testcase_02(self):
            print("TestCase02_testcase_02")
    
        def testcase_03(self):
            print("TestCase02_testcase_03")

    # 实例化TestSuite类
    suite = unittest.TestSuite()
    # 以测试用例类里的每一个方法为单位添加
    # suite.addTest(TestCase01("testcase_01"))
    # suite.addTest(TestCase01("testcase_02"))
    # suite.addTest(TestCase02("testcase_02"))
    
    # 以测试用例类为单位添加
    suite.addTest(unittest.makeSuite(TestCase01))
    suite.addTest(unit
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值