随笔 - 67  文章 - 1  评论 - 203  阅读 - 15万

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   双宇  阅读(2523)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
< 2009年8月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示