随笔-66  评论-203  文章-2 

Python--自由之路(二)Unittest Framework

 

Python Unit Testing Framework ---Unittest Model  学习

Python 中的测试框架,也可称做PyUnit ,几乎就是JUnitPython 版本。支持setup and shutdown code for tests, 独立测试,集成测试,我使用的是python 2.6 ,内置的测试模块名为unittest 。可以通过from unittest import * 方法导入需要的功能模块 

继承python Unittest TestCase ,测试方法必须以test开头命名,单元测试时可使用派生使初始化测试代码的重用。

TestSuit,作为轻量级集成测试时使用。可以方便地添加基类型为Testcase的所有子类,统一测试。

widgetTestSuite=unittest.TestSuite() widgetTestSuite.addTest(WidgetTestCase('testDefaultSize')) widgetTestSuite.addTest(WidgetTestCase('testResize'))

单元测试的使用---导入unittest模块 unittest.main() 在被测试单元中实现至少一个TestCase派生,或者从TestLoader加载,例

suite =unittest.TestLoader().loadTestsFromTestCase(TestSequenceFunctions) unittest.TextTestRunner(verbosity=2).run(suite) 

为了工作方便,在上述基础上写了一个测试模块test,当创建好自己的模块后,有时候需要进行模块的单元测试,这时候只要导入test, 然后在Tested Module代码后面直接调用函数测试,属性值测试,就可以直接测试了,测试结果集成了TestCaseResult,会给出具体的测试报告,自己觉得很方便而已,呵呵,后面有时间还想扩展一下针对类的测试,在函数测试上引入多线程等等。主要应用了Python运行时脚本编译的特性,根据被测试模块的内容动态生成字符串代码对象,经编译后就可以在程序中动态生成类以供调用。附test代码:

 

Code

 

posted on 2009-08-17 13:27 双宇 阅读(...) 评论(...) 编辑 收藏