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 ...
随机推荐
- 【问题解决】syntax error: unexpected end of file或-bash: ./full_build.sh: /bin/bash^M: bad interpreter: No
在阅读的过程中有不论什么问题,欢迎一起交流 邮箱:1494713801@qq.com QQ:1494713801 运行一个脚本full_build.sh 时, 一直是提示我: -bash: ./ ...
- finalize过程
之前说过case有两个 switch (startOpt) { case FORMAT: boolean aborted = format(conf, true); System.exit(abort ...
- 使用GDI+绘制的360风格按钮控件(使用CN_DRAWITEM消息重绘,并使用TGPGraphics,TGPPen,TGPImage,TGPBitmap等)good
将下面的代码拷贝到一个单元中,创建一个包,加入这个单元后安装.使用的时候设置好背景颜色,边框颜色,图标(png格式)相对路径的文件名称.这个控件可以利用PNG图像的颜色透明特性,背景色默认透明度为50 ...
- 14.4.8 Configuring the InnoDB Master Thread IO Rate 配置InnoDB Master Thread I/O Rate
14.4.8 Configuring the InnoDB Master Thread IO Rate 配置InnoDB Master Thread I/O Rate 主的master thread ...
- WinDbg分析DMP文件方法完全攻略
前言:在C++实际开发过程中,开发出来的程序,一般情况下由开发人员进行单元测试,然后移交给测试人员进行测试.在开发人员测试出现的bug,我们可以直接在本地进行调试.如果测试人员测试出崩溃级别的bug, ...
- JavaScript学习总结1
/***我是切割线 的開始***/ //利用prototype属性能够加入公有属性和方法 function myConstructor2(){ this.a='大灰狼'; }; //声明构造函数,能够 ...
- WPF 设置WebBrowser控件不弹脚本错误提示框
using System.Reflection; using System.Windows; using System.Windows.Controls; using System.Windows.N ...
- 黑马程序员:Java基础总结----静态代理模式&动态代理
黑马程序员:Java基础总结 静态代理模式&动态代理 ASP.Net+Android+IO开发 . .Net培训 .期待与您交流! 静态代理模式 public class Ts { ...
- 一款新型的智能家居WiFi选择方案——SimpleWiFi在无线智能家居中的应用
一款新型的智能家居WiFi选择方案——SimpleWiFi在无线智能家居中的应用 先上图: 随着科学技术的不断发展,局域网也正逐渐向无线化,多网合一的方向发展,在这个多网合一快速发展过程中,带 ...
- hdu4185+poj3020(最大匹配+最小边覆盖)
传送门:hdu4185 Oil Skimming 题意:n*n的方格里有字符*和#,只能在字符#上放1*2的板子且不能相交,求最多能放多少个. 分析:直接给#字符编号,然后相邻的可以匹配,建边后无向图 ...