python测试与调式基础模块

1 unittest

单元测试

1.1 组成部分
TestCase: 测试用例,框架的组成部分,真正用来书写用例代码
TestSuite: 测试套件,管理组装多个TestCase
TestRunner: 测试执行,测试运行,执行TestSuite
TestLoader: 测试加载,对TestSuit的功能补充
Fixture: 测试夹具,书写在TestCase代码中,是一个代码结构,在每个方法执行前后都执行的内容
1.2 TestCase
import unittest


class TestDemo(unittest.TestCase):
    """测试类,继承TestCase
    测试方法:必须以 test_ 开头
    
    运行:鼠标放在相应的方法上可指定执行相应的方法,放在类上执行所有方法
    """

    def test_print(self):
        print("测试1")

    def test_print2(self):
        print("测试2")
1.3 TestSuite、TestRunner
import unittest
from learn_unitest.t1 import TestDemo
from learn_unitest.t2 import TestDemo2

# 使用套件对象添加用例方法
suite = unittest.TestSuite()
suite.addTest(TestDemo('test_print'))  # 添加指定方法
# 添加类中所有方法: suite.addTest(unittest.makeSuite(类名))
suite.addTest(unittest.makeSuite(TestDemo2))

# 实例化运行对象
runner = unittest.TextTestRunner()

# 执行
runner.run(suite)

# 运行结果中的 "." 表示用例通过,F表示用例不通过,E用例代码有问题
1.4 TestLoader
import unittest

# 实例化加载对象并添加用例
# 发现TestCase: discover("用例所在的路径", "用例的代码文件名") ,可以使用通配符*
loader = unittest.TestLoader().discover("./", "t*.py")
# loader = unittest.defaultTestLoader.discover("./", "t*.py")

# 实例化运行对象
unittest.TextTestRunner().run(loader)
1.5 Fixture
# 每个方法执行之前 setUp , 方法执行之后 tearDown
# 每个测试用例类所有方法执行之前类方法 setUpClass,所有方法执行之后 tearDownClass
# 每个代码文件(模块)执行之前定义函数setup_module,执行之后 teardown_module
# 以上方法均无返回值


import unittest


def setup_module():
    print("+++++模块执行之前+++++")


def teardown_module():
    print("+++++模块执行之后+++++")


class TestFixture(unittest.TestCase):

    def setUp(self):
        print("每个方法执行之前")

    def tearDown(self) -> None:
        print("每个方法执行之后")

    @classmethod
    def setUpClass(cls):
        print("类中方法执行之前")

    @classmethod
    def tearDownClass(cls) -> None:
        print("类中方法执行之后")

    def test_print(self):
        print("测试方案1")

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值