有没有可能强迫
assertEquals("10,00 €", new Currency(bon.getTotal()))
使用Currency Object的toString()方法?(我不想自己叫它)。
否则,它会比较引用,当然不匹配。
java.lang.AssertionError:
expected:java.lang.String<10,00 €>
但是:果酱.收银机.货币<10,00 €>
更新
最后我得到了这样的代码:
assertEquals(new Currency(bon.getTotal()), "10,00 €");
我不知道在Assert中,把期望的部分和实际的部分交换是不是一个好主意。
public class Currency() {
@Override
public boolean equals(Object other) {
return this.toString().equals(other.toString());
}
}
3条答案
按热度按时间vnjpjtjt1#
您应该比较
Currency
的两个示例:因此,必须重新定义
equals()
。如果等式必须基于Currency
的字符串表示,则还必须重写toString()
(您可能已经这样做了)。j9per5c42#
不,唯一的方法就是自己写:
pzfprimi3#
我也犯了同样的错误。我采用了这种方法。
assertEquals(20 , new Duller(result.multiple()).toString());
没有工作。