水电费

飞色色

def main():
    print 'hello'

单元测试的重要性就很少说了,可恶的是python中有太多的单元测试框架和工具,什么unittest, testtools, subunit, coverage, testrepository, nose, mox, mock, fixtures, discover,再加上setuptools, distutils等等这些,先不说如何写单元测试,html

光是怎么运行单元测试就有N多种方法,再由于它是测试而非功能,是不少人没兴趣触及的东西。可是做为一个优秀的程序员,不只要写好功能代码,写好测试代码同样的彰显你的实力。如此多的框架和工具,很容易让人困惑,困惑的缘由是由于并无理解它的java

基本原理,若是一些基本的概念都不清楚,怎么可以写出思路清晰的测试代码?python

今天的主题就是unittest,做为标准python中的一个模块,是其它框架和工具的基础,参考资料是它的官方文档:http://docs.python.org/2.7/library/unittest.html和源代码,文档已经写的很是好了,我在这里记录的主要是它的一些重要概念、关键点以及程序员

可能会碰到的一些坑,目的在于对unittest加深理解,而不是停留在泛泛的表面层上。框架

unittest是一个python版本的junit,junit是java中的单元测试框架,对java的单元测试,有一句话很贴切:Keep the bar green,相信使用eclipse写过java单元测试的都心照不宣。unittest实现了不少junit中的概念,好比咱们很是熟悉的test case, testeclipse

suite等,总之,原理都是相通的,只是用不一样的语言表达出来。工具

在文档的开篇就介绍了unittest中的4个重要的概念:test fixture, test case, test suite, test runner,我以为只有理解了这几个概念,才能真正的理解单元测试的基本原理,下面就主要围绕这几个概念来展开这篇文章。单元测试

首先经过查看unittest的源码,来看一下这几个概念,以及他们之间的关系,他们是如何在一块儿工做的,其静态类图以下:测试

相关文章
相关标签/搜索