【python】unittest框架

unittest组成

  • TestCase (最核心的模块)
    测试用例,每个TestCase 都是一个代码文件,在这个代码文件中来书写真正的用例代码。
  • TestSuite
    测试套件,用来管理、组装(打包)多个TestCase
  • TestRunner
    测试执行,用来执行TestSuite
  • TestLoader
    测试加载,对TestSuite的补充
  • Fixture
    测试夹具,书写在TestCase 代码中,是一个代码结构,可以在每个方法执行前后都会执行的内容

TestCase

创建demo.py

# 1.导包
import unittest


# 2.自定义测试类,需要继承unittest模块中的TestCase类
class TestDemo(unittest.TestCase):
    # 3.书写测试方法
    # 书写要求:测试方法必须以test_开头
    def test_method1(self):
        print('测试方法1')

    def test_method2(self):
        print('测试方法2')
# 4.执行用例(方法)
# 4.1将光标放在类名的后边运行
# 4.2将光标放在方法名的后边运行,只执行当前的方法

TestSuite & TestRunner

创建demo1.py,demo2.py
创建suite_runner.py

# 1.导包
import unittest

from demo1 import TestDemo1
from demo2 import TestDemo2

# 2.实例化(创建对象)套件对象
suite = unittest.TestSuite()
# 3.使用套件对象添加用例方法
# 方式1:套件对象.addTest(测试类名('方法名'))
suite.addTest(TestDemo1('test_method1'))
suite.addTest(TestDemo1('test_method2'))
suite.addTest(TestDemo2('test_method1'))
suite.addTest(TestDemo2('test_method2'))
# 方式2:将一个测试类中的所有方法进行添加 套件对象.addTest(unittest.makeSuite(测试类名))
suite.addTest(unittest.makeSuite(TestDemo1))
suite.addTest(unittest.makeSuite(TestDemo2))
# 4.实例化运行对象
runner = unittest.TextTestRunner()
# 5.使用运行对象去执行套件对象
runner.run(suite)

查看用例结果

1
运行结果中 . 用例通过,F 用例不通过, E error 用例代码有问题

TestLoader

创建tools.py

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

创建test,test1,test2

import unittest

from tools import add


class TestAdd(unittest.TestCase):
    def test_method1(self):
        if add(1, 2) == 3:
            print('测试通过1')
        else:
            print('测试不通过2')

    def test_method2(self):
        if add(10, 20) == 30:
            print('测试通过1')
        else:
            print('测试不通过2')

    def test_method3(self):
        if add(2, 2) == 5:
            print('测试通过1')
        else:
            print(&
  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值