文档章节

Python单元测试框架unittest简介

henni_719
 henni_719
发布于 2017/04/22 17:31
字数 779
阅读 13
收藏 0

Python单元测试框架,其中的有些部分参照PyUnit。PyUnit是JUnit的python语言版本,它是由Kent Beck和Erich Gamma创建。JUnit是Kent的Smalltalk测试框架的Java版本。JUnit的每部分都是标准的单元测试框架,很多语言都受他启发而开发自身的单元测试框架。

         unittest支持自动化测试、共享测试的setup和shutdown代码、构建测试集合、测试和测试报告相互独立。unittest模块提供一些类,通过这些类能很容易创建一组高质量的测试代码。

         为了实现这一点,unittest支持一些重要的概念:

         testfixture

         test fixture表示执行一个或多个测试前的准备工作,确保每个测试之间的独立性。这可能涉及到,例如,创建临时或代理数据库、目录、服务器启动进程等相关准备工作。

         testcase(测试用例)

         test case是测试的最小单元模块。它检查对特定输入集合的特定响应。unittest提供给一个基类Testcase,可以使用这个类创建一个新测试test case。

         testsuite(测试集)

         测试集是测试用例、测试集或者二者的一个集合。它被用于把测试整合在一起,批量运行测试。

         testrunner(运行测试器)

         测试运行器是协调测试执行并向用户提供结果的组件。运行器可以使用图形界面、文本界面、或返回特定值来指示执行测试的结果。

         TestCase与FunctionTestCase类支持test case与test fixture概念。当需要创建一个新测试时,就需要调用TestCase类。当将现有测试代码与单元测试驱动框架集成时,就需要调用FunctionTestCase类。当使用TestCase构建test fixture时,setUp()tearDown()方法被重载被用于提供初始化和清理fixture。使用FunctionTestCase,可以将现有函数传递给构造函数以实现初始化和清理fixture的功能。当测试运行时,fixture初始化(setUp())被首先运行;如果测试运行成功,测试执行后运行fixture的清理方法(tearDown()),忽略测试输出结果。每个TestCase的实例只能被用于运行单个测试方法,所以为每个测试创建一个新的fixture。

         Test suite通过TestSuit类实现。这个类允许把单个测试和测试集合成在一起;当测试集被执行时,这个测试集中的所有测试以及子测试集都被执行。

         一个test runner是一个对象,该对象只提供一个方法run(),该方法参数可以是一个TestCase或者TestSuit对象,返回一个结果对象。为结果对象提供了一个TestResult类。unittest提供TextTestRunner作为示例测试运行器,该运行器默认报告标准错误流上的测试结果。可以在其他环境(例如图形环境)实现运行器,而不需要从特定类派生。


原文链接:https://docs.python.org/2/library/unittest.html#

© 著作权归作者所有

henni_719
粉丝 2
博文 466
码字总数 343938
作品 0
信阳
QA/测试工程师
私信 提问
python接口自动化(二十一)--unittest简介(详解)

简介   前边的随笔主要介绍的requests模块的有关知识个内容,接下来看一下python的单元测试框架unittest。熟悉 或者了解java 的小伙伴应该都清楚常见的单元测试框架 Junit 和 TestNG,这个...

SEOwhywhy
04/23
0
0
Python 各种测试框架简介(二):unittest

unittest 与 doctest 一样也是 Python 发行版自带的包。如果你听说过 PyUnit(OSC 开源项目页面中就有 PyUnit 的页面),那么这俩其实是同一个东西——PyUnit 是 unittest 的曾用名,因为 Py...

lionets
2014/05/25
0
1
Python--自由之路(二)Unittest Framework

l Python Unit Testing Framework ---Unittest Model 学习 l Python 中的测试框架,也可称做PyUnit ,几乎就是JUnit的Python 版本。支持setup and shutdown code for tests, 独立测试,集成测...

ysisl222
2009/08/17
0
0
Python 的单元测试之 unittest

Overview Basic example 随着项目的不断扩大,单元测试在保证开发效率、可维护性和软件质量等方面的地位越发举足轻重,是一本万利的举措。Python 常用 unittest module 编写单元测试,它包含...

koala bear
2014/07/06
0
0
python+pytest单元测试框架之介绍

前言 pytest是Python的一种单元测试框架,与python自带的unittest测试框架类似,但是比unittest框架使用起来更简洁,效率更高。pytest是一个成熟的全功能的Python测试工具,可以帮助你写出更...

keitwotest
2018/07/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

typescript 接口 函数类型 可索引类型

函数类型 可索引类型 数字索引签名 字符串索引签名 数字索引签名返回值 必须是 字符串索引签名返回值的子集 只读索引签名

lilugirl
今天
3
0
Oracle SQL语法实例合集

如需转载请注明出处https://my.oschina.net/feistel/blog/3052024 目的:迅速激活Oracle SQL 参考:《Oracle从入门到精通》 ------------------------------------------------------------......

LoSingSang
今天
2
0
增加 PostgreSQL 服务进程的最大打开文件数

https://serverfault.com/questions/628610/increasing-nproc-for-processes-launched-by-systemd-on-centos-7 要在systemd的配置里加才行...

helloclia
今天
2
0
组合模式在商品分类列表中的应用

在所有的树形结构中最适合的设计模式就是组合模式,我们看看常用商品分类中如何使用。 先定义一个树形结构的商品接口 public interface TreeProduct { List<TreeProduct> allProducts(...

算法之名
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部