关于Python的测试框架,应用的最为广泛的有三种:
- zope.testing: 只支持ubittest和doctest等传统Python测试风格,不支持更现代的框架至此的简化风格。但是,它提供了一个强大的分层系统,在这种系统中包含测试的木驴可以依赖通用的设置代码,设置代码为层创建一个运行测试所需的环境。
- py.test: 建立了Python测试的新标准,目前许多开发人员都采用这种标准。
- Nose: 于2005年发布,支持与py.tes相同的测试习惯,更容易安装和维护。
本文重点说明Nose里面的函数。
1.SETUP和TEARDOWN
setup:在测试用例开始时被调用
tearDown:在测试用例结束后被执行
可支持如下级别:
1.模块的setUp和tearDown
2.测试函数的setUp和tearDown
3.测试类的setUp和tearDown
4.package的setUp和tearDown
模块的SETUP和TEARDOWN
测试代码:
测试结果:
setUp()->Testfunc1()->Testfunc2()->tearDown
测试函数的SETUP和TEARDOWN
测试代码如下:
测试结果如下:
执行顺序如下:
setUp()->func1Start()->Testfunc1()->func1End()->func2Start()->Testfunc2()->func2End()->tearDown()
测试类的SETUP和TEARDOWN
测试代码:
运行结果:
PACKAGE的SETUP和REARDOWN
package的setUp和tearDown方法需要放在__init__.py这个文件中,整个package只执行一次setUp和tearDown。