Should we use assertEquals or assertTrue for comparing primitive types specifically ints? Is there a preference, if so why ? I'd like to know the pros and cons of each approach.
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
assertEquals()
gives a useful default error message on failure, like "expected X but got Y", but assertTrue()
can't. Use the more specific applicable method here, which is assertEquals()
.
回答2:
assertEquals() is to test the equality of your expected value with the returning value. Whereas assertTrue() is to check for a condition. Having said that, you can also say
If you have a condition like.
String x = "abc";
String y = "abc";
assertEquals(x, y);
You can also change it to
assertTrue(x.equals(y));
It is just another way of asserting what you expect.