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. 【问题解决】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: ./ ...

  2. finalize过程

    之前说过case有两个 switch (startOpt) { case FORMAT: boolean aborted = format(conf, true); System.exit(abort ...

  3. 使用GDI+绘制的360风格按钮控件(使用CN_DRAWITEM消息重绘,并使用TGPGraphics,TGPPen,TGPImage,TGPBitmap等)good

    将下面的代码拷贝到一个单元中,创建一个包,加入这个单元后安装.使用的时候设置好背景颜色,边框颜色,图标(png格式)相对路径的文件名称.这个控件可以利用PNG图像的颜色透明特性,背景色默认透明度为50 ...

  4. 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 ...

  5. WinDbg分析DMP文件方法完全攻略

    前言:在C++实际开发过程中,开发出来的程序,一般情况下由开发人员进行单元测试,然后移交给测试人员进行测试.在开发人员测试出现的bug,我们可以直接在本地进行调试.如果测试人员测试出崩溃级别的bug, ...

  6. JavaScript学习总结1

    /***我是切割线 的開始***/ //利用prototype属性能够加入公有属性和方法 function myConstructor2(){ this.a='大灰狼'; }; //声明构造函数,能够 ...

  7. WPF 设置WebBrowser控件不弹脚本错误提示框

    using System.Reflection; using System.Windows; using System.Windows.Controls; using System.Windows.N ...

  8. 黑马程序员:Java基础总结----静态代理模式&动态代理

    黑马程序员:Java基础总结 静态代理模式&动态代理   ASP.Net+Android+IO开发 . .Net培训 .期待与您交流! 静态代理模式 public  class  Ts {   ...

  9. 一款新型的智能家居WiFi选择方案——SimpleWiFi在无线智能家居中的应用

    一款新型的智能家居WiFi选择方案——SimpleWiFi在无线智能家居中的应用 先上图:     随着科学技术的不断发展,局域网也正逐渐向无线化,多网合一的方向发展,在这个多网合一快速发展过程中,带 ...

  10. hdu4185+poj3020(最大匹配+最小边覆盖)

    传送门:hdu4185 Oil Skimming 题意:n*n的方格里有字符*和#,只能在字符#上放1*2的板子且不能相交,求最多能放多少个. 分析:直接给#字符编号,然后相邻的可以匹配,建边后无向图 ...