我目前在 Eclipse Helios 之上的 JUnit 4 之上运行 Hamcrest 1.3RC,关于 Hamcrest 只有一件事困扰我:错误消息是错误的。而不是“预期:<预期值>,但是:<实际值>”,我得到“预期:<实际值>,但是:<预期值>”。
我的意思是,这不是什么大事,但是来吧^^ 真的没有一个在其他方面做得如此出色的 Hamcrest 开发人员注意到这一点吗?或者这是我的环境独有的错误?只要告诉我你是否也有它,或者没有它,甚至更好,你知道修复这个错误的方法。
我用 Hamcrest 1.2 和 1.3RC 都试过了,但都没有正确。TIA 提供任何提示。
一些代码来说明这个问题(名字部分是德语,我希望没关系):
Produkt p2 = pdao.getProdukt("Kekse");
assertNotNull(p2);
assertEquals(p2.getName(), "Kekse");
assertThat(p2.getPreis().doubleValue(), closeTo(2.57, 0.01));
assertEquals(p2.getFuellmenge(), 200);
assertEquals(p2.getFuelleinheit(), "G");
assertEquals(p2.isUeber18(), false);
assertEquals(p2.isAktiv(), true);
[EDIT2] 使用 Hamcrest 专门解决了这个问题。从现在开始,我将避免使用 assertEquals(...,...) 来支持 assertThat(... is(...))。