【发布时间】:2015-03-20 10:56:05
【问题描述】:
这是我需要测试的课程:
package testing;
public class Money {
private int Amount;
private String Currency;
public int getAmount(){return Amount;}
public String getCurrency(){return Currency;}
public Money(int amount, String currency){
Amount= amount;
Currency= currency;
}
public Money addMoney(Money m){
return (new Money(getAmount()+m.getAmount(),getCurrency()));
}
这是我的 JUnit 测试类
package testing;
import static org.junit.Assert.*;
import org.junit.Test;
public class MoneyTest {
@Test
public void testAddMoney() {
Money m1 = new Money (20,"DH");
Money m2 = new Money(10,"DH");
Money expected = new Money(30,"DH");
Money result = m1.addMoney(m2);
assertTrue(result.equals(expected));
}
@Test
public void testEquals(){
Money m1 = new Money (20,"DH");
Money m2 = new Money(10,"DH");
assertTrue(!(m1.equals(null)));
assertEquals(m1, m1);
assertEquals(m1, new Money(20,"DH"));
assertTrue(!m1.equals(m2));
}
当我运行测试时,它会抛出第一个异常:
java.lang.AssertionError
at testing.MoneyTest.testAddMoney(MoneyTest.jaba:15)15 is the number of line : assertTrue(result.equals(expected));
第二个:
java.lang.AssertionError at testing.MoneyTest.testEquals(MoneyTest.java:26) 26 is the number of line: assertEquals(m1, new Money(20,"DH"));
有什么问题???
【问题讨论】:
-
你还没有覆盖
Money中的等于...
标签: java unit-testing testing junit