unitest可以测java代码嘛_python的unitest的简单使用

python的unitest的简单使用

unittest提供一个TestLoader类用于自动创建一个测试集并把单个测试放入到测试集中。

TestLoader自动运行测试用例以test开头的方法的测试方法。

#coding=utf8

'''

unittest提供一个TestLoader类用于自动创建一个测试集并把单个测试放入到测试集中。

TestLoader自动运行测试用例以test开头的方法的测试方法。

在多个测试用例在决定运行哪个测试用例的策略是通过内建函数对测试函数名排序决定的。

通常习惯将测试集组合在一起,以便系统一次运行所有的测试用例。

TestSuite实例添加到一个TestSuite中就像把一个TestCase实例添加到一个TestSuite中。

-----------------------------------------------------------------------------------------

suite1=module1.TheTestSuite()

suite2=module2.TheTestSuite()

alltests=unittest.TestSuite([suite1,suite2])

-----------------------------------------------------------------------------------------

可以将测试用例和测试套件的定义放在与要测试的代码相同的模块中,但将测试代码放在单独的模块中有几个好处:

1、测试模块可以从命令行独立运行。

2、测试代码可以更容易地与运输代码分开。

3、有更少的诱惑改变测试代码,以适应代码测试没有一个很好的理由。

4、测试代码的修改频率要比它测试的代码少得多。

5、测试代码可以更容易重构。

6、用C编写的模块的测试必须在单独的模块中,所以为什么不一致?

7、如果测试策略更改,则不需要更改源代码。

'''

from __future__ import division

from Lib.HTMLTestRunner import HTMLTestRunner

from unittest import TestCase,TestLoader,TestSuite

from source.calcutor import calculatorClass

class TestMul(TestCase):

def setUp(self):

pass

def test_defaultMul(self):

cal=calculatorClass()

self.assertEqual(cal.mul(),200 , "The result should be equal 200")

def test_negtiveMul(self):

cal=calculatorClass(-10,-25)

self.assertEqual(cal.mul(),250 , "The result should be equal 250")

def test_floatMul(self):

cal=calculatorClass(0.25,0.4)

self.assertEqual(cal.mul(),0.1, "The result should be equal 0.1")

def tearDown(self):

pass

class TestDiv(TestCase):

def setUp(self):

pass

def test_defaultDiv(self):

cal=calculatorClass()

self.assertEqual(cal.mul(),0.5 , "The result should be equal 0.5")

def test_negtiveDiv(self):

cal=calculatorClass(-10,-25)

self.assertEqual(cal.mul(),0.4 , "The result should be equal 250")

def test_floatDiv(self):

cal=calculatorClass(0.24,0.4)

self.assertEqual(cal.mul(),0.6, "The result should be equal 0.1")

def tearDown(self):

pass

def allTest():

''' 创建测试集'''

suite1=TestLoader().loadTestsFromTestCase(TestMul)

suite2=TestLoader().loadTestsFromTestCase(TestDiv)

alltests=TestSuite([suite1,suite2])

return alltests

if __name__=="__main__":

'''创建保存测试结果的文件'''

html=file("..\\report.html","wb+")

'''调用HTMLTestRunner类生成html格式测试运行报告'''

runner=HTMLTestRunner(stream=html,title="Test Report",description="The state of the run testcase")

runner.run(allTest())

html.close()

python 多线程就这么简单(续)

之前讲了多线程的一篇博客,感觉讲的意犹未尽,其实,多线程非常有意思.因为我们在使用电脑的过程中无时无刻都在多进程和多线程.我们可以接着之前的例子继续讲.请先看我的上一篇博客. python 多线程就这 ...

python模块介绍- HTMLParser 简单的HTML和XHTML解析器

python模块介绍- HTMLParser 简单的HTML和XHTML解析器 2013-09-11 磁针石 #承接软件自动化实施与培训等gtalk:ouyangchongwu#gmail.comqq ...

基于Python使用SVM识别简单的字符验证码的完整代码开源分享

关键字:Python,SVM,字符验证码,机器学习,验证码识别 1   概述 基于Python使用SVM识别简单的验证字符串的完整代码开源分享. 因为目前有了更厉害的新技术来解决这类问题了,但是本文作 ...

Python的变量及简单数据类型

Python的变量及简单类型 1.  变量 在Python编程中,变量是用来存放值或对像的容器.变量的名称可以自定义,但需遵循一定的规范,否则可能会引发一些错误.Python的变量可以分为数字.字符和 ...

Python与C的简单比较(Python3.0)

Python可以说是目前最火的语言之一了,人工智能的兴起让Python一夜之间变得家喻户晓,Python号称目前最最简单易学的语言,现在有不少高校开始将Python作为大一新生的入门语言.本萌新也刚开 ...

Python 基于Python及zookeeper实现简单分布式任务调度系统设计思路及核心代码实现

基于Python及zookeeper实现简单分布式任务调度系统设计思路及核心代码实现   by:授客 QQ:1033553122 测试环境 功能需求 实现思路 代码实践(关键技术点实现) 代码模块组织 ...

python操作三大主流数据库(2)python操作mysql②python对mysql进行简单的增删改查

python操作mysql②python对mysql进行简单的增删改查 1.设计mysql的数据库和表 id:新闻的唯一标示 title:新闻的标题 content:新闻的内容 created_at: ...

python的变量和简单的数据类型

决定学习python这门语言了,本人资质愚钝,只会把学到的东西记录下来,供自己查漏补缺,也可以分享给和我一样正在学习python语言的人,若在记录中存在什么错误,希望多多批评指正,谢谢. Python ...

python socket 实现的简单http服务器

预备知识: 关于http 协议的基础请参考这里. 关于socket 基础函数请参考这里. 关于python 网络编程基础请参考这里. 一.python socket 实现的简单http服务器   废话 ...

随机推荐

使用TreeView 使用多选功能

1.要用TreeView多选就要显示复选框,TreeView默认不显示复选框,显示复选框: TreeView2.ShowCheckBoxes = TreeNodeTypes.All; 初始化TreeV ...

Windows下通过socket进行字符串和文件传输

今天在windows平台下,通过socket实现了简单的文件传输.通过实现这一功能,了解基本的windows网络编程和相关函数的使用方法. 在windows平台上进行网络编程,首先都需要调用函数WSA ...

【转】PowerShell入门(七):管道——在命令行上编程

转至:http://www.cnblogs.com/ceachy/archive/2013/02/22/PowerShell_Pipeline.html 管道对于Shell来说是个化腐朽为神奇的东西, ...

如何查询 Oracle 11g日志

可使用如下语句查询11g告警日志存放路径: --显示DIAGNOSTIC_DEST的位置 1.show parameter DIAGNOSTIC_DEST;                       ...

jquery plugins —— Chosen

官网地址:http://harvesthq.github.io/chosen/ Chosen (v1.4.2) Chosen has a number of options and attribute ...

Android实现真正的ViewPager【平滑过渡】+【循环滚动】!!!顺带还有【末页跳转】。

实现真正的ViewPager[平滑过渡]+[循环滚动]!!!顺带还有[末页跳转]. 首先呢, 我要对网上常见的3种ViewPager的循环滚动方法做个概述.急需看真正实现方法的同志请选择性忽略下面这一 ...

关于 RESTful API 中 HTTP 状态码的定义

最近正好使用了一会儿 Koa ,在这说一下自己对各个 请求码的见解和使用场景,懒人直接看 200.400.401.403.404.500 就可以了. 其中 2XX/3XX 其实都是请求成功,但是结果不 ...

react学习三

三点运算符  (...)的用法 1:展开运算符 let a=[1,2,3]; let b=[0,...a,4];//[0,1,2,3,4] let obj ={a:1,b:2}; let obj2 = ...

PhantomJSのメモいろいろ

提供されるモジュール群は5つ phantom: そのもの FileSystem: ファイルに出力したり.依存ファイルの存在確認したり System: コマンドラインから引数取りたいなら WebPage ...

【Asp.net入门01】动态网站基础知识

本节将介绍: 网站搭建流程 动态网站相关基础概念 网页的访问原理 使用浏览器访问网站是我们几乎天天在做的事情.以前我们只需要关注网页内容,作为网站开发人员,从现在开始我们要关注更深层次的东西了. 1. ...

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值