python的unittest模块浅析

python的unittest模块

unittest模块主要以下几个部分:

1.TestCase
2.TestSuite
3.TestRunner

1.TestCase

TestCase主要负责自动化用例的编写,核心是通过断言的方法对实际结果和预期结果做比较

#!/usr/bin/python
# -*- coding: UTF-8 -*-
#@Author: Demon
#@time:2020/7/8 10:32
import unittest

class unittest_check(unittest.TestCase):
    def test_input(self):
        result=input('输入实际结果')          #方法(实际结果
        ex='正确结果'                         #预期结果

        self.assertEqual(result,ex)          #断言 直接调用unittest方法

上面代码中,实际结果是通过控制台输入,在实际应用中,可以通过程序生成或者调用方法来获取

断言是通过直接使用unittest里的断言方法来断言
常用断言方法有:

    assertEqual**(a,b,[msg='测试失败时打印的信息']):断言a和b是否相等,相等则测试用例通过。
	assertNotEqua**l(a,b,[msg='测试失败时打印的信息']):断言a和b是否相等,不相等则测试用例通过。
	assertTrue(x,[msg='测试失败时打印的信息']):断言x是否True,是True则测试用例通过。
	assertFalse(x,[msg='测试失败时打印的信息']):断言x是否False,是False则测试用例通过。
	assertIs(a,b,[msg='测试失败时打印的信息']):断言a是否是b,是则测试用例通过。
	assertNotIs(a,b,[msg='测试失败时打印的信息']):断言a是否是b,不是则测试用例通过。
	assertIsNone(x,[msg='测试失败时打印的信息']):断言x是否None,是None则测试用例通过。
	assertIsNotNone(x,[msg='测试失败时打印的信息']):断言x是否None,不是None则测试用例通过。
	assertIn(a,b,[msg='测试失败时打印的信息']):断言a是否在b中,在b中则测试用例通过。
	assertNotIn(a,b,[msg='测试失败时打印的信息']):断言a是否在b中,不在b中则测试用例通过。
	assertIsInstance(a,b,[msg='测试失败时打印的信息']):断言a是是b的一个实例,是则测试用例通过。
	assertNotIsInstance(a,b,[msg='测试失败时打印的信息']):断言a是是b的一个实例,不是则测试用例通过。

2.TestSuite

测试集合
多个测试用例集合在一起,就是TestSuite
addTest()方法是将测试用例添加到测试套件中

可以单条添加

suite=unittest.TestSuite()#定义测试用例集
suite.addTest(Test('test_case'))

直接添加测试用例类

suite=unittest.TestSuite()                #定义测试用例集
load=unittest.TestLoader()              #实例化加载对象
suite.addTest(load.loadTestsFromTestCase(test_loggin.test_loggin))       #加载测试类

3.TestRunner

测试集合编写好了之后,就是执行测试用例了

r=unittest.TextTestRunner()        #实例化对象
r.run(suite)                       #执行测试集合

(非作者允许,严禁转载)

作者联系方式:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值