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框架学习的更多相关文章

  1. IdentityServer4 ASP.NET Core的OpenID Connect OAuth 2.0框架学习保护API

    IdentityServer4 ASP.NET Core的OpenID Connect OAuth 2.0框架学习之保护API. 使用IdentityServer4 来实现使用客户端凭据保护ASP.N ...

  2. Hadoop学习笔记—18.Sqoop框架学习

    一.Sqoop基础:连接关系型数据库与Hadoop的桥梁 1.1 Sqoop的基本概念 Hadoop正成为企业用于大数据分析的最热门选择,但想将你的数据移植过去并不容易.Apache Sqoop正在加 ...

  3. Spring框架学习一

    Spring框架学习,转自http://blog.csdn.net/lishuangzhe7047/article/details/20740209 Spring框架学习(一) 1.什么是Spring ...

  4. EF框架学习手记

    转载: [ASP.NET MVC]: - EF框架学习手记 1.EF(Entity Framework)实体框架EF是ADO.NET中的一组支持开发面向数据的软件应用程序的技术,是微软的一个ORM框架 ...

  5. web框架学习列表

    转载自鲁塔弗的博客,原文网址:http://lutaf.com/148.htm web framework层出不穷,特别是ruby/python,各有10+个,php/java也是一大堆 根据我自己的 ...

  6. 2013 最新的 play web framework 版本 1.2.3 框架学习文档整理

    Play framework框架学习文档 Play framework框架学习文档 1 一.什么是Playframework 3 二.playframework框架的优点 4 三.Play Frame ...

  7. SSH 框架学习之初识Java中的Action、Dao、Service、Model-收藏

    SSH 框架学习之初识Java中的Action.Dao.Service.Model-----------------------------学到就要查,自己动手动脑!!!   基础知识目前不够,有感性 ...

  8. 各种demo——CI框架学习

    各种demo——CI框架学习   寒假学习一下CI框架,请各位多多指教! 一.CI的HelloWorld! 注意:CI禁止直接通过文件目录来访问控制器. ./application/controlle ...

  9. phalcon(费尔康)框架学习笔记

    phalcon(费尔康)框架学习笔记 http://www.qixing318.com/article/phalcon-framework-to-study-notes.html 目录结构   pha ...

随机推荐

  1. Android应用开发之(通过ClipboardManager, ClipData进行复制粘贴)

    在开发一些系统应用的时候,我们会用到Android的剪贴板功能,比如将文本文件.或者其他格式的内容复制到剪贴板或者从剪贴板获取数据等操作.Android平台中每个常规的应用运行在自己的进程空间中,相对 ...

  2. [Ext JS 4]性能优化

    一般的优化技巧 1. 检查你定义的时间监听器 正确的设置事件监听器对性能会有很大的影响. 举例来说, 在定义一个store的时候,设置一个load 的事件去触发从后台读取数据,如果设置single 的 ...

  3. 【Android UI设计与开发】第17期:滑动菜单栏(二)开源项目SlidingMenu的示例

    通过上一篇文章的讲解,相信大家对于开源项目SlidingMenu都有了一个比较初步的了解(不了解的可以参考上 一篇文章),那么从这一章开始,博主将会以SlidingMenu为重心,给大家带来非常丰富的 ...

  4. DB2错误码解释对照

    表 2. SQLSTATE 类代码 类  代码    含义 要获得子代码,  参阅...  00 完全成功完成 表 3  01 警告 表 4  02 无数据 表 5  07 动态 SQL 错误 表 6 ...

  5. Spring整合的quartz任务调度的实现方式

    一.在web.xml中将配置文件的位置指定好. Web.xml的配置如下: <?xmlversion="1.0"encoding="UTF-8"?> ...

  6. linux下自助获取帮助

    几乎所有命令都可以用 -h 或者--help参数 获取命令的使用方法帮助 man ls   也可以获取ls命令的详细帮助信息 man -k XXX  可以查看包含关键字XXX的文档 还有一个更详细的命 ...

  7. uva-211-The Domino Effect

    http://uva.onlinejudge.org/external/2/211.html http://uva.onlinejudge.org/external/2/211.pdf 题意:每一种骨 ...

  8. 使用国内源解决Qt在线更新慢的问题

    Qt在线安装更新工具默认使用官方的源,国内访问比较慢,可以在setting中增加国内的源来提高更新速度,如下面的源: http://mirrors.ustc.edu.cn/qtproject/onli ...

  9. 在不同版本号hdfs集群之间转移数据

    在不同版本号hdfs集群之间转移数据     最简单的办法就是把src集群的数据导到本地,然后起还有一个进程将本地数据传到des集群上去. 只是这有几个问题: 效率减少 占用本地磁盘空间 不能应付实时 ...

  10. hdu2563(递推dp)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2563 解题思路:要分两种情况来考虑,a(n)为向上,b(n)为向左跟向右,f(n)为当前方案数.a(n ...