java单元测试篇:使用clover为junit单元测试做覆盖率分析(二)
之后,我们创建一个junit测试代码MoneyTest.java,来测试Money.java和MoneyBag.java类,这里我也把它放在src目录下;如果企业应用,你就要把目录分析的详细些,例如src子目录下放所有的java源代码,test子目录下放所有的junit测试代码:51Testing软件测试网GS?;| [pFA9y
Z$a.Wj9{+J i,B#a0import junit.framework.*;
Zpi;yu};ovL2W,[0?QXT6o$h0public class MoneyTest extends TestCase {
+Ql&fDd0n1p-NM+m9HA eo0private Money f12CHF;51Testing软件测试网\u5Ri0TA
4W)` lqH0private Money f14CHF;
1~1f_9aF6s,G051Testing软件测试网:g\)d6zD ]1T[pprivate Money f7USD;51Testing软件测试网'LQ dm|h(?+j)M
N'y1a1Fd [5A"X;_;`O0private Money f21USD;51Testing软件测试网 _BU8V7N
3EkGzqcHE~W051Testing软件测试网k8T*H3K+r2Aj \T-ct*a
51Testing软件测试网 x:fc"q&OB*n;k@private IMoney fMB1;
|@]o3@d-Ne0-jo.O6nr0private IMoney fMB2;
I+S6l*j MD _Ty!{051Testing软件测试网/L#H?5VYXJ?E fJ51Testing软件测试网xr O8hdIz x
0k1|*_UOY(L0public static void main(String args[]) {51Testing软件测试网%|g7_^ p9P`2aD.V
51Testing软件测试网D2D.F%^s5D,Ns+i,s0Xjunit.textui.TestRunner.run(MoneyTest.class);51Testing软件测试网r0[v WU
51Testing软件测试网\9cpl [}
jE*h)[Cz01LY+w5ce L}0protected void setUp() {51Testing软件测试网{}7ID'|3Ga6M!j
!V6zmB'K;~$H0f12CHF= new Money(12, "CHF");51Testing软件测试网 |%n:LUOp4d
]5O[zt9rQ}#O K0f14CHF= new Money(14, "CHF");51Testing软件测试网klk)c5e~t
.o2n}f{e0f7USD= new Money( 7, "USD");51Testing软件测试网fF#cp3r |N
51Testing软件测试网7V]:wt,s;qmH7ff21USD= new Money(21, "USD");51Testing软件测试网b SX5@ C'w
e*~A:n*V R2z0}0
P*k?4G-[]iW*x$Y1m051Testing软件测试网0qfS{tfMB1= MoneyBag.create(f12CHF, f7USD);51Testing软件测试网0_+X-?L,CR x([
~uR+owW"r0fMB2= MoneyBag.create(f14CHF, f21USD);51Testing软件测试网Q0l'e,GD%V)R']e
51Testing软件测试网.tEW2p&V-@?f6k}
*Z6W8{0_$T8\]jP0Cw*n6oY0public void testBagMultiply() {51Testing软件测试网|6q"Uxx~
51Testing软件测试网-I7H)@ A8oH5]]^// {[12 CHF][7 USD]} *2 == {[24 CHF][14 USD]}51Testing软件测试网0t YD({.~7^N0h[
SA5\0ehm-{4J'E0IMoney expected= MoneyBag.create(new Money(24, "CHF"), new Money(14, "USD"));
#h$L1`G7wu_051Testing软件测试网q0pb*Q[n7xT#cassertEquals(expected, fMB1.multiply(2));
s@.v$YD051Testing软件测试网*a-Vvg|~hassertEquals(fMB1, fMB1.multiply(1));51Testing软件测试网*BgWtRz#cGU
51Testing软件测试网0c/~/_}3r+cR*BassertTrue(fMB1.multiply(0).isZero());
g,M?'m#B0W051Testing软件测试网$f,qB*HL}51Testing软件测试网![ W$S8A.zk
u#]O)?*k$Ay0public void testBagNegate() {51Testing软件测试网 kL o!A1Q
5p`K@f:@0// {[12 CHF][7 USD]} negate == {[-12 CHF][-7 USD]}51Testing软件测试网\wwU"D:_'?:D
51Testing软件测试网U"f,\!]!J4~IMoney expected= MoneyBag.create(new Money(-12, "CHF"), new Money(-7, "USD"));
P:xcX0X&C;d0&G le4S,Q!e0assertEquals(expected, fMB1.negate());
8ZVX&mW c051Testing软件测试网"@$KE*o u5m @#} ns}51Testing软件测试网_.V)n@&BO0J)UR
&?Y ^ y0\+[s}:V0public void testBagSimpleAdd() {
miL],k I.?051Testing软件测试网JpAq j}y5i AFt// {[12 CHF][7 USD]} + [14 CHF] == {[26 CHF][7 USD]}
7ck(A#~}UX6FO%Tg%C }0QU(?%N:A4QF7Lnj8g t0IMoney expected= MoneyBag.create(new Money(26, "CHF"), new Money(7, "USD"));51Testing软件测试网"j4Y}(n#L+Yt