PyUnit框架学习
http://www.oschina.net/question/12_27127#INSTALL
http://www.360doc.com/content/11/0606/23/54470_122122538.shtml
照着以上的文章写了如下的代码,对于我这个不怎么写代码的人来说,敲出如下的代码好艰辛,有木有~~~~(>_<)~~~~
一 main方法自动执行所有test
如果你之前已经使用test*
惯例对测试方法进行命名,那么你就可以将以下代码插入测试模块的结尾:
if __name__ == "__main__":
unittest.main()
当你从命令行执行你的测试模块时,其所包含的所有测试都将被运行。如下,testDefaultSize()和testResize()方法都会被自动执行。
把下面2个文件的代码分别保存为rectangle.py,RectangleSizeTestCase.py。
“”“class to be tested”“”
class Rectangle:
def __init__(self,size =(40,40)):
self.size = size
def getSize(self):
return self.size
def resize(self,width,height):
if width < 1 or height <1:
raise ValueError,"illegal size"
self.size = (width,height)
def dispose(self):
pass
import unittest
from rectangle import Rectangle class RectangleSizeTestCase(unittest.TestCase):
def setUp(self):
self.rectangle = Rectangle("New Rectangle")
def tearDown(self):
self.rectangle.dispose()
self.rectangle = None
def testDefaultSize(self):
assert self.rectangle.getSize() == (50,50),'incorrect default size'
def testResize(self):
self.rectangle.resize(100,100)
assert self.rectangle.getSize() == (100,150),'wrong size after resize' if __name__ == "__main__":
unittest.main()
我存放文件的目录路径为C:\Python27,这个路径是任意的,只要在执行的时候输入代码文件所在的位置就好:
二 使用testsuite执行test
import unittest
from rectangle import Rectangle """执行测试的测试类"""
class RectangleSizeTestCase(unittest.TestCase):
def setUp(self):
self.rectangle = Rectangle("New Rectangle")
def tearDown(self):
self.rectangle.dispose()
self.rectangle = None
def testDefaultSize(self):
assert self.rectangle.getSize() == (50,50),'incorrect default size'
def testResize(self):
self.rectangle.resize(100,100)
assert self.rectangle.getSize() == (100,150),'wrong size after resize' """构造测试集"""
def suite1():
rectangleTestSuite1 = unittest.TestSuite()
rectangleTestSuite1.addTest(RectangleSizeTestCase("testDefaultSize"))
return rectangleTestSuite1 def suite2():
rectangleTestSuite2 = unittest.TestSuite()
rectangleTestSuite2.addTest(RectangleSizeTestCase("testResize"))
return rectangleTestSuite2
"""嵌套测试集"""
alltests = unittest.TestSuite((suite1(),suite2())) #注意这里只有一个参数 fileresult = open("C:\\Python27\\record.txt","a") #在windows下文件路径要记得进行转义操作
runner = unittest.TextTestRunner(fileresult)
runner.run(alltests) #查看unittest.py的源代码可知参数是具体的test方法或testsuite或嵌套的testsuite都行
fileresult.close()
PyUnit框架学习的更多相关文章
- IdentityServer4 ASP.NET Core的OpenID Connect OAuth 2.0框架学习保护API
IdentityServer4 ASP.NET Core的OpenID Connect OAuth 2.0框架学习之保护API. 使用IdentityServer4 来实现使用客户端凭据保护ASP.N ...
- Hadoop学习笔记—18.Sqoop框架学习
一.Sqoop基础:连接关系型数据库与Hadoop的桥梁 1.1 Sqoop的基本概念 Hadoop正成为企业用于大数据分析的最热门选择,但想将你的数据移植过去并不容易.Apache Sqoop正在加 ...
- Spring框架学习一
Spring框架学习,转自http://blog.csdn.net/lishuangzhe7047/article/details/20740209 Spring框架学习(一) 1.什么是Spring ...
- EF框架学习手记
转载: [ASP.NET MVC]: - EF框架学习手记 1.EF(Entity Framework)实体框架EF是ADO.NET中的一组支持开发面向数据的软件应用程序的技术,是微软的一个ORM框架 ...
- web框架学习列表
转载自鲁塔弗的博客,原文网址:http://lutaf.com/148.htm web framework层出不穷,特别是ruby/python,各有10+个,php/java也是一大堆 根据我自己的 ...
- 2013 最新的 play web framework 版本 1.2.3 框架学习文档整理
Play framework框架学习文档 Play framework框架学习文档 1 一.什么是Playframework 3 二.playframework框架的优点 4 三.Play Frame ...
- SSH 框架学习之初识Java中的Action、Dao、Service、Model-收藏
SSH 框架学习之初识Java中的Action.Dao.Service.Model-----------------------------学到就要查,自己动手动脑!!! 基础知识目前不够,有感性 ...
- 各种demo——CI框架学习
各种demo——CI框架学习 寒假学习一下CI框架,请各位多多指教! 一.CI的HelloWorld! 注意:CI禁止直接通过文件目录来访问控制器. ./application/controlle ...
- phalcon(费尔康)框架学习笔记
phalcon(费尔康)框架学习笔记 http://www.qixing318.com/article/phalcon-framework-to-study-notes.html 目录结构 pha ...
随机推荐
- 五种情况下会刷新控件状态(刷新所有子FWinControls的显示)——从DFM读取数据时、新增加子控件时、重新创建当前控件的句柄时、设置父控件时、显示状态被改变时
五种情况下会刷新控件状态(刷新控件状态才能刷新所有子FWinControls的显示): 在TWinControls.PaintControls中,对所有FWinControls只是重绘了边框,而没有整 ...
- Linux统计文件/目录数量ls -l | grep "^-" | wc -l匹配开头和结尾
Linux统计文件数量 ls -l | grep "^-" | wc -l “^-” 一般文件 “^d” 目录文件 shell/vim中^表示开头 cat repatterns ...
- centos 安装 redis3.2.0 集群
这里创建6个redis节点,其中三个为主节点,三个为从节点. redis和端口对应关系: 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 从: 127.0.0 ...
- Delphi面向对象设计的经验原则(61条)
(1)所有数据都应该隐藏在所在的类的内部. (2)类的使用者必须依赖类的共有接口,但类不能依赖它的使用者. (3)尽量减少类的协议中的消息. (4)实现所有类都理解的最基本公有接口[例如,拷贝操作(深 ...
- linux nc命令使用详解
功能说明:功能强大的网络工具 语 法:nc [-hlnruz][-g<网关...>][-G<指向器数目>][-i<延迟秒数>][-o<输出文件>][-p ...
- JS的类型比较与转换图
完整比较图:红色:===橙色:==黄色:<= 和 >= 同时成立,== 不成立蓝色:只有 >=绿色:只有 <= https://www.zhihu.com/question/3 ...
- Delphi中类的运行期TypeInfo信息结构说明
Delphi中类的运行期TypeInfo信息结构说明 CnPack 开源软件项目 2007-09-19 21:55:58 Delphi中类的运行期TypeInfo信息结构说明作者:刘啸CnPack开发 ...
- SuSE(SLES)安装配置syslog-ng日志server,可整合splunk
Update History 2014年04月25日 - 撰写初稿 引言 在自己主动化部署AutoYast.自己主动化监控BMC Patrol双方面形成雏形后.日志的收集.管理.分析也顺势成为我们须要 ...
- 怎么获取Spring的ApplicationContext
在 WEB 开发中,可能会非常少须要显示的获得 ApplicationContext 来得到由 Spring 进行管理的某些 Bean, 今天我就遇到了,在这里和大家分享一下, WEB 开发中,怎么获 ...
- matlab矩阵的表示和简单操作
原地址:http://www.cnblogs.com/Ran_Ran/archive/2010/12/11/1903070.html 一.矩阵的表示在MATLAB中创建矩阵有以下规则: a.矩阵元素必 ...