栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

了解unittest框架

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

了解unittest框架

最近学习完unittest框架后,总感觉理解的比较片面,查阅多方资料,总结以下几点,我们一起来学习吧!

 

1、概念:Unittest是Python标准库的一部分。它是目前最流行的固件测试框架XUnit在Python中的实现。

        unittest单元测试框架,是仿junit写出来的,在其他语言中,也有类似的单元测试框架。要深入理解unittest框架,就要先搞明白它下面的几个概念:

test fixture 、 test case、  test suite 、 test runner

2、Unittest框架的单元测试类用例通过继承unittest.TestCase来实现,例如:

import unittest

def fun(x):
    return x + 2

class MyTest(unittest.TestCase):
    def test(self):
        self.assertEqual(fun(2), 4)

3、Unittest框架原理图:

4、Unittest一共包含5个概念:

TestCase: 测试用例类

        此类的一个实例,就是一个测试用例。

        一个完整的测试用例包括:测试前准备环境的搭建(setUp),执行测试代码(run),以及测试后环境的还原(tearDown)。

TestSuite:测试套件类

        对多个测试用例的整合到一起,打包进行测试,就用到了TestSuite,实例化一个TestSuite对象,可以添加上多个测试用例。

TestLoader: 测试用例加载类

        加载TestCase实例(即测试用例)到TestSuite实例中,所以,这个类里面有很多加载的方法,例如:几个loadTestFrom__()方法。

TextTestRunner:测试用例运行类

        实例化出此类的一个对象,然后把TestSuite实例作为参数传进去,就可以运行测试了。

TextTestResult: 测试用例结果类

        TextTestRunner的运行结果保存到TextTestResult中,包括运行了多少测试用例,成功了多少,失败了多少等信息。

小结:

        对一个测试用例环境的搭建和销毁,是一个fixture,通过覆盖TestCase的setUp()和tearDown()方法来实现。

       关于fixture,还有一个专门的库函数叫做fixtures,功能更加强大。 

5、关于Test Fixture

        Test Fixture用于测试环境的准备和恢复还原, 一般用到下面几个函数:

setUp()、tearDown()、setUpClass()、tearDownClass()

那么我们对比一下它们之间的区别吧!

        首先,setUp()和tearDown(),setUpClass()和tearDownClass()是两组测试用例数据化执行开始和结束;

        setUp()和tearDown()是setUp普通方法的前置和后置条件。每运行一次用例,都会执行一次里面的方法,使用时不用加装饰器;

        setUpClass()和tearDownClass()是setUpClass()类方法的前置和后置条件。运行用例前只会执行一次里面的方法,使用必须加装饰器。

        注意:

        setUpClass(cls)和tearDownClass(cls)并不一定要组合使用,它们是同级关系不是上下级关系,可以单独拆分使用。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/339218.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号