是否有可能迫使force assertEquals(String s,Object o)使用o.toString()?
assertEquals("10,00 €", new Currency(bon.getTotal()))
使用的toString貨幣對象的()方法? (我不想自己稱呼它。)
因爲否則它比較引用,哪些當然不匹配。
java.lang.AssertionError:
expected: java.lang.String<10,00 €>
but was: jam.cashregister.Currency<10,00 €>
更新
我終於結束了這段代碼:
assertEquals(new Currency(bon.getTotal()), "10,00 €");
I don't know if it is a good idea to swap the expected with the actual part, in the assertation.
public class Currency(){
...
@Override
public boolean equals(Object other) {
return this.toString().equals(other.toString());
}
}
是這樣的問題JUnit的assertEquals方法?如果是這樣,你應該添加一個JUnit標籤。 – Ben
你爲什麼不想打電話給自己 - 你想在這裏解決什麼問題? – Ben
唯一的方法是重寫'assertEquals'方法。 – Jens