java junit 覆盖率_java单元测试篇:使用clover为junit单元测试做覆盖率分析(二)...
51Testing软件测试网 Ri;yBnkQ!z^
之后,我们创建一个junit测试代码MoneyTest.java,来测试Money.java和MoneyBag.java类,这里我也把它放在src目录下;如果企业应用,你就要把目录分析的详细些,例如src子目录下放所有的源代码,子目录下放所有的junit测试代码:x
tgJ'\0
3GW4cQ}:{~5{FD0import junit.framework.*;51Testing软件测试网5Ec/F3Frd51Testing软件测试网%i%Zz"P{W-r
public class MoneyTest extends TestCase {tE&\^F]"E0
{edUO l4X,|z0private Money f12CHF;^;Pb2g^-v0
s5~s$h6L3\f4TE0private Money f14CHF;C`8\S9`tY0
\la,Q6\-zt8p0private Money f7USD;g xqX5ND'c*`0U051Testing软件测试网%\$I@!drtm$s%@w
private Money f21USD;Lo X8S[h%Au051Testing软件测试网q"OmFD&i4a
HJ:u]NG\0
^ClXI5eO Z0private IMoney fMB1;6l@zE6txnC+f0
1zL'}&u0Ht"O2F-`G],L0private IMoney fMB2;51Testing软件测试网8s7`z p)K5t8D51Testing软件测试网Gf:d$B!p*p
51Testing软件测试网$S9ufT4MV4P5f|7I51Testing软件测试网FQ7l._+Sn/R0WwC
public static void main(String args[]) {51Testing软件测试网0u^1Nm!m51Testing软件测试网rS7k|R
junit.textui.TestRunner.run(MoneyTest.class);51Testing软件测试网#s8wWnH_Q8b
,sH'G%_"{,X[$C0}51Testing软件测试网1E5jmx5B+IdkH
9jOx-[2V"T(C$r0protected void setUp() {6OE!B`3u^ S'D*wV0
:[z!kl`O0f12CHF= new Money(12, "CHF");ly4Z.`h&\7@,T051Testing软件测试网jWbT2hkM
f14CHF= new Money(14, "CHF");51Testing软件测试网u&@+j["Z{}i51Testing软件测试网eCE:TY
f7USD= new Money( 7, "USD");51Testing软件测试网0C2gCs8xm{
n2m"Wh9[4`q0f21USD= new Money(21, "USD");g!?P~$jgj051Testing软件测试网d^$D*Hs
51Testing软件测试网C&D zgFH@z/T
N
Q0kx6w
~0fMB1= MoneyBag.create(f12CHF, f7USD);51Testing软件测试网E3K1t'I;r0`a Q
?`8L!MAn0fMB2= MoneyBag.create(f14CHF, f21USD);51Testing软件测试网5F"r)Go0tLA"|
[
t#A0k)hPQ0}51Testing软件测试网 ?.o1W2D|6zJB!A?c b:r
%_:t5M C2{p%Y4``0K\"x0public void testBagMultiply() {b{J4CQ(CZ0
S rhZQ-J~0// {[12 CHF][7 USD]} *2 == {[24 CHF][14 USD]}51Testing软件测试网Xt:NOa
jzn0xnp7rz@0IMoney expected= MoneyBag.create(new Money(24, "CHF"), new Money(14, "USD"));4oEa0XY\-i051Testing软件测试网$PPSutc
assertEquals(expected, fMB1.multiply(2));51Testing软件测试网r%`4Nn!hS
/H.kP@e#]/Qu0assertEquals(fMB1, fMB1.multiply(1));8W.NV_8H0
+J0uau$B:w\-x5_ r0assertTrue(fMB1.multiply(0).isZero());j-nt2k)JkN2]0
@Y&[m(e4['U%[0}"Z|#X,m7}7E)Q3O4l6F0
j a8y\5vd0G0public void testBagNegate() {saQy%aE&w0
kOB!Z^g&E0// {[12 CHF][7 USD]} negate == {[-12 CHF][-7 USD]}XIN2GY*`051Testing软件测试网T6^+?E?SQa
IMoney expected= MoneyBag.create(new Money(-12, "CHF"), new Money(-7, "USD"));|*KA:b"]s#^051Testing软件测试网^ENZCHxb
assertEquals(expected, fMB1.negate());qei)td m:hiX051Testing软件测试网(A+l)A'A2bO1pv
}51Testing软件测试网X G)q*vLu
]#Ek@6i0public void testBagSimpleAdd() {51Testing软件测试网 k_a.Q+J;I
%I?
e0]:Tz7}}0// {[12 CHF][7 USD]} + [14 CHF] == {[26 CHF][7 USD]}51Testing软件测试网%XA[K$uL+e&Y51Testing软件测试网0ERWv2gt,]C8\:}
IMoney expected= MoneyBag.create(new Money(26, "CHF"), new Money(7, "USD"));3ikSpk!f0
Nb-R~ ?9~.Bj0assertEquals(expected, fMB1.add(f14CHF));51Testing软件测试网0lFb
MM^$~C\51Testing软件测试网#U6o;b+L0U6VtB6Z
}51Testing软件测试网$BGX2?1a0P
I;P`"B1a"h'iy0public void testBagSubtract() {51Testing软件测试网^+D4^/yi-G7Pu51Testing软件测试网F"l.e;]GL
Q
// {[12 CHF][7 USD]} - {[14 CHF][21 USD] == {[-2 CHF][-14 USD]}mMHXAcOO/b051Testing软件测试网,g7dG!J.Kz0I*}2k
IMoney expected= MoneyBag.create(new Money(-2, "CHF"), new Money(-14, "USD"));;hL*e"J'k0j;}~,cV051Testing软件测试网0HY _|3{y
assertEquals(expected, fMB1.subtract(fMB2));s,y;PA%X3v:J_+^0
K;_8A2L5p.G`0}51Testing软件测试网E`1?+Re
Ts d51Testing软件测试网"M0R }%K)B3Q1S~
public void testBagSumAdd() {'U2A4l.{g!r9y051Testing软件测试网N*h Ak%q"j!C
// {[12 CHF][7 USD]} + {[14 CHF][21 USD]} == {[26 CHF][28 USD]}"^-aK&Y1s[DY
D&W0Pr0
m
Y9k%BY9Z qT`)z l0IMoney expected= MoneyBag.create(new Money(26, "CHF"), new Money(28, "USD"));jD o(V3BXw0
Cm{-U;J,c.k{0assertEquals(expected, fMB1.add(fMB2));51Testing软件测试网 x A$mr'mR|%a51Testing软件测试网MU G+cD
}51Testing软件测试网B!J6AA'}
{/X[p51Testing软件测试网1gXD!? \,aM8HJi;^
public void testIsZero() {Q j'fF9ml0
java junit 覆盖率_java单元测试篇:使用clover为junit单元测试做覆盖率分析(二)...相关推荐
- java单线程循环调度_Java基础篇之Java线程模型
原标题:Java基础篇之Java线程模型 Java运行系统在很多方面依赖于线程,所有的类库设计都考虑到多线程.实际上,Java使用线程来使整个环境异步.这有利于通过防止CPU循环的浪费来减少无效部分. ...
- java bs设计模式_Java进阶篇设计模式之十三
前言 在上一篇中我们学习了行为型模式的备忘录模式(Memento Pattern)和状态模式(Memento Pattern).本篇则来学习下行为型模式的最后两个模式,观察者模式(Observer P ...
- java分层命名_JAVA基础篇(5)-POJO的命名规则
源起于alibaba的开发手册类的命名规范 参考自--知乎上的回答 变脸命名规范 不同类型的对象在架构设计中用于不同的用途,如下的分层架构表示各个POJO的用途.为什么要在分层架构中国,定义这些POJ ...
- java 线程模型_Java基础篇之Java线程模型
Java运行系统在很多方面依赖于线程,所有的类库设计都考虑到多线程.实际上,Java使用线程来使整个环境异步.这有利于通过防止CPU循环的浪费来减少无效部分. 为更好的理解多线程环境的优势可以将它与它 ...
- java ognl使用_java框架篇---struts之OGNL详解
OGNL(Object Graph Navigation Language),是一种表达式语言.使用这种表达式语言,你可以通过某种表达式语法,存取Java对象树中的任意属性.调用Java对象树的方法. ...
- java getinstance 反射_Java 基础篇之反射
使用反射获取程序运行时的对象和类的真实信息. 获取 Class 对象 每个类被加载之后,系统会为该类生成一个对应的 Class 对象,通过该 Class 对象可以访问到 JVM 中的这个类. 使用 C ...
- java虚拟机进程_Java虚拟机详解(七)------虚拟机监控和分析工具(1)——命令行...
通过前面的几篇博客,我们介绍了Java虚拟机的内存分配以及内存回收等理论知识,了解这些知识对于我们在实际生产环境中提高系统的运行效率是有很大的帮助的.但是话又说回来,在实际生产环境中,线上项目正在运行 ...
- java 新项目计划_Java的新项目学成在线笔记-day6(十二)
3.3.3 API接口 1)添加课程计划 @ApiOperation("添加课程计划") public ResponseResult addTeachplan(Teachplan ...
- java银行安全性_Java使用同步方法解决银行取钱的安全问题案例分析
本文实例讲述了Java使用同步方法解决银行取钱的安全问题.分享给大家供大家参考,具体如下: 一 点睛 与同步代码块对应,Java的多线程安全支持还提供了同步方法,同步方法就是使用synchronize ...
- Java renameto无效_Java重命名文件renameTo在windows下失败原因分析
在用Java压缩文件时,将原始数据xxx.dat压缩为xxx.tmp的临时文件,压缩完成以后再将xxx.tmp文件重命名为xxx.z.可怜我在linux下测试成功,而在windows下则一直没有反应. ...
最新文章
- Golang 单例模式 singleton pattern
- jquery 表单重置通用方法
- optee运行时来了一个REE(linux)中断--代码导读
- win7任务栏计算机图标,Win7系统任务栏怎么添加显示桌面图标 显示桌面图标如何放到win7任务栏...
- ui设计未来十年前景_UI设计的10条诫命
- Oracle 数据库错误信息:动态执行表不可访问,本会话的自动统计被禁止
- django的web开发笔记1(智能诊断系统数据概览记录)
- 华为旗下哈勃投资公司入股光刻机制造商科益虹源
- 解决vmware“二进制转换与此平台长模式不兼容.....”的问题
- 这家初创公司用端到端安全保护物联网设备
- js 设置cookie
- 简单实现京东分类页面(二)
- python范围缩放_如何缩放到初始绘图/缩放的特定范围?
- 【代码实践】使用CLIP做一些多模态的事情
- 最新唯美520表白纪念网页HTML源码+UI超级好看
- 利用Python将一个Excel拆分为多个Excel
- FPGA图像处理_中值滤波、均值滤波、极值滤波
- Spring Boot Security - Remember Me示例
- 【工具推荐】Adobe Reader看PDF文件点击链接跳转,返回原位置方法
- 盘点 | 2017年,哪些黑科技改变了我们的生活?
热门文章
- 阿里巴巴矢量图库批量下载的方法
- css3半圆弧线,css3实现画半圆弧线的示例代码
- Android 10 根文件系统和编译系统(十八):Android.bp语法
- 能ping通但是不能打开网页问题的解决方法
- 尚硅谷-谷粒商城-电商项目-秒杀系统-笔记
- C#毕业设计——基于C#+asp.net+sqlserver的校园新闻发布系统设计与实现(毕业论文+程序源码)——新闻发布系统
- 交互技术前沿学习分享——利用眼动追踪改良广告界面
- 插画师所需的基础软件
- RT-Thread 软件定时器(学习笔记)
- 群晖域名注册_手把手教你在群晖NAS上用自己的域名实现https访问