https://docs.python.org/2/library/unittest.htmlhtml
PYTHON单元测试框架是JUnit的PYTHON语言版本,是有Kent Beck 和 Erich Gamma研发的,该python测试框架又叫PyUnit. 相反,JUnit是Kent 的smalltalk测试框架的JAVA版本。这些都是各自语言的标准测试框架。python
unittest支持自动化测试,能够给测试共享setup和shutdown代码,能够将测试组合在一块儿,而且与报告框架测试分开各自独立。unittest模块提供的类使得在保证测试集的有用性更容易。
数据库
为了达到这一目标,unittest有如下几个感念:
框架
test fixture
函数
test fixture 表明了在执行一个或多个测试前的准备条件,以及任何与回收有关的操做。这些包括建立临时或代理数据库,目录,或者开启一个服务进程。
单元测试
test case测试
test case 是最小的测试单元。它检验了一个特定输入集合的特别反应。unittest提供了一个基类,TestCase,这将易于建立新的测试用例。
ui
test suit代理
测试套集是测试用例,测试套集,或者都有的一个集合。它用于收集一些要执行的测试到一块儿。
htm
test runner
test runner是一个组件,他将用例有条理的组合起来,而且将结果输出给用户。runner会用图形接口,文本接口或者返回一些特定值来代表执行测试的结果。
test case和test fixture的概念是由TestCase 和 FunctionTestCase来表示;前者是当建立新的测试时使用,后者是用unittest-driven框架整合存在的测试代码时使用。当建立test fixtures时使用TestCase,setUp() 和 tearDown()方法会被重载进来用于支持fixture的初始化和清理工做。为了一些特定的目的,利用 FunctionTestCase将存在的函数传递给构造器。 当测试运行时,fixture的初始化先运行;若是测试成功,清理方法会在测试执行完后运行,而不考虑测试的输出。
TestCase的每一个实例都用来运行一个单例的测试方法,因此每一个测试都有一个新的fixture。
TestSuite类会执行 测试套集。这个类将单个测试和测试套集整合在一块儿;当测试套集执行的时候,全部的测试会直接添加到套集里面,在测试套集里面的测试会运行。
test runner是一个对象,它提供一个方法,run(),它接受 TestCase 或 TestSuit 的对象做为一个参数,而且返回一个结果对象。类 TestResult 提供告终果对象。 默认状况下,unittest 提供了 TextTestRunner 做为test runner来报告结果到标准的错误流。 另外,runner能够为其它的环境使用而不须要继承特定的类。
未完待续