unittest的文档4个重要的概念.py

"""1.Test Case一个TestCase的实例就是一个测试用例。什么是测试用例呢?就是一个完整的测试流程,包括测试前准备环境的搭建(setUp)、实现测试过程的代码(run),以及测试后环境的还原(tearDown)。单元测试(unit test)的本质也就在这里,一个测试用例就是一个完整的测试单元,通过运行这个测试单元,可以对某一个功能进行验证。2.Test Suite一个功能的验证往往需要多个测试用例,可以把多个测试用例集合在一起来执行,这就产生了测试套件TestSuite的概念。Test Suite用来组装单个测试用例。可以通过addTest加载TestCase到TestSuite中,从而返回一个TestSuite实例。3.Test Runner测试的执行也是单元测试中非常重要的一个概念,一般单元测试框架中都会提供丰富的执行策略和执行结果。在unittest单元测试框架中,通过TextTestRunner类提供的run()方法来执行test suite/test case。test runner可以使用图形界面、文本界面,或返回一个特殊的值等方式来表示测试执行的结果。4.Test Fixture对一个测试用例环境的搭建和销毁,就是一个fixture,通过覆盖TestCase的 setUp()和tearDown()方法来实现。有什么用呢?比如说在这个测试用例中需要访问数据库,那么可以在setUp()中通过建立数据库连接来进行初始化,在tearDown()中清除数据库产生的数据,然后关闭连接等。"""from calculator import Countimport unittestclass TestCount(unittest.TestCase):    def setUp(self):        print("test start")

    def test_add(self):        j = Count(2,3)        self.assertEqual(j.add(),5)

    def test_add2(self):        j = Count(41,76)        self.assertEqual(j.add(),117)

    def tearDown(self):        print("test end")

if __name__ == ‘__main__‘:    #构造测试集:    suite = unittest.TestSuite()    suite.addTest(TestCount("test_add2"))    #执行测试:    runner = unittest.TextTestRunner()    runner.run(suite)

"""在前面例子的基础上编写了第二个测试用例test_add2()。由于第一个测试用例已经运行通过,因此这次只需运行第二条测试用例。在代码的最后,我们去掉了main)方法,采用构造测试集的方法来加载与运行测试用例,实现了有选择地执行测试用例。当然,也可以通过注释的方式注释掉第一条用例,但这种做法并不优雅。首先,调用unittest框架的TestSuite()类来创建测试套件,通过它所提供的addTest()方法来添加测试用例test_add2()。接着调用unitest框架的TextTestRunner()类,通过它下面的run()方法来运行suite所组装的测试用例。"""

原文地址:https://www.cnblogs.com/zhang-da/p/12210609.html

时间: 2024-10-10 01:25:46

unittest的文档4个重要的概念.py的相关文章

Laravel(PHP)使用Swagger生成API文档不完全指南 - 基本概念和环境搭建 - 简书

在PHPer中,很多人听说过Swagger,部分人知道Swagger是用来做API文档的,然而只有少数人真正知道怎么正确使用Swagger,因为PHP界和Swagger相关的资料实在是太少了.所以鄙人斗胆一试,希望能以本文帮助到大家了解Swagger,从此告别成天用Word.Markdown折腾API文档的日子. 什么是Swagger Swagger is a simple yet powerful representation of your RESTful API. With the lar

Ext JS 6学习文档–第2章–核心概念

核心概念 在下一章我们会构建一个示例项目,而在这之前,你需要学习一些在 Ext JS 中的核心概念,这有助于你更容易理解示例项目.这一章我们将学习以下知识点: 类系统,创建和扩展类 事件 Ext JS 对象的查询 容器 布局 转载请注明出处:http://www.jeeboot.com/archives/1217.html class system(类系统) Ext JS 提供了很多功能,使得它创建和处理类变得简单.以下是在 Ext JS 6 的类系统中的几大组成类: Ext Base Clas

storm文档(7)----基本概念

转载请注明出处:http://blog.csdn.net/beitiandijun/article/details/41546195 源地址:http://storm.apache.org/documentation/Concepts.html 本文介绍了storm的主要概念,并且给出相关链接供你查看更多信息.本文讨论的概念如下所示: 1.Topologies 2.Streams 3.Spouts 4.Bolts 5.Stream Grouping 6.Reliability 7.Tasks 8

MongoDB的文档、集合、数据库(二)

为了理解MongoDB的名词,可以将其于关系型数据库进行对比: 一.文档 概述 文档是MongoDB的核心概念,是数据的基本单元,非常类似于关系数据库中的行.在MongoDB中,文档表示为键值对的一个有序集.MongoDB使用Javascript shell,文档的表示一般使用Javascript里面的对象的样式来标记,如下: {"title":"hello!"} {"title":"hello!","recomme

MongoDB文档、集合、数据库简介

文档 概述 文档是MongoDB的核心概念,是数据的基本单元,非常类似于关系数据库中的行.在MongoDB中,文档表示为键值对的一个有序集.MongoDB使用Javascript shell,文档的表示一般使用Javascript里面的对象的样式来标记,如下: 1 {"title":"hello!"} 2 {"title":"hello!","recommend":5} 3 {"title&quo

C++MFC编程笔记day05 文档类-单文档和多文档应用程序

文档类 1 相关类 CDocument类-父类是CCmdTarget类,所以,文档类也可以处理菜单等 命令消息.作用保存和管理数据. 注意事项:如何解决断言错误 2 在视图中显示文档中的数据 2.1 CView::OnInitialUpdate 作用初始化视图,在附加文档之后,显示之前,由框架调用. 2.2 CView::GetDocument 获取与视图相关的文档 2.3 CFrameWnd::InitialUpdateFrame 作用,初始化更新框架,可以引起CView::OnInitial

(第八天)文档坐标、视口坐标和元素坐标

文档坐标和视口坐标 概念 元素的位置是以像素来度量的,向右代表X坐标的增加,向下代表Y坐标的增加.但是,有两个不同的点作为坐标系的原点:元素的X和Y坐标可以相对于文档的左上角或者相对于其中显示文档的视口的左上角.在顶级窗口和标签页中,“视口”只是实际显示文档内容的浏览器的一部分:它不包括浏览器“外壳”(如菜单,工具条件和标签页).当讨论元素的位置时,必须弄清楚所使用的坐标时文档坐标还是视口坐标.[注]视口坐标有时也叫窗口坐标. 举例说明:在文档坐标中如果一个元素的Y坐标时200px,并且用户已经

appium python andiroid自动化文档整理笔记。

利用一天时间去整理appium for android文档.传送门 利用业余时间自己翻阅资料,google.百度等去查找,费劲一番功夫,最后终于成行了这篇文档. 也是作者对最近自己的学习的一个总结吧,其实平时自己学习感觉是很简单的,可是突然让自己去整理 感觉还是很难的, 感谢自己的努力吧,感谢官网,感谢工具,感谢曾经大家的分享吧, 学习过程中,总是痛苦的,感谢那些优秀的论坛,感谢前辈们的指引,希望大家能够更多的指正. 文中代码如下展示. from appium import webdriver

Python 单元测试 & 文档测试

1.1   单元测试 1.1.1   单元测试编写 单元测试是用来对一个模块.一个函数或者一个类来进行正确性检验的测试工作. 编写一个Dict类,这个类的行为和dict一致,但是通过属性来访问. >>> d = Dict(a=1, b=2) >>> d['a'] 1 >>> d.a 1 class dict编写如下: [[email protected] python]# cat mydict.py #!/usr/bin/python # -*- co