是否有一种方法可以禁止我在编译时为不同类型调用assertEquals()?我希望这段代码不可编译:
String s = "foo";
Integer i = 1;
assertEquals(s, i);
编辑:这是因为在重构期间我更改了测试类的一个getter的返回类型,但我的单元测试仍然是可编译的。他们开始时失败了,但这还不够好。
答案 0 :(得分:3)
使用Junit Matcher API:
String s = "foo";
Integer i = 1;
assertThat(s, equalTo(i));
这会在编译时给你一个错误,有些人认为它很方便,因为你也可以使用其他匹配器而不是equals。