JUnit类型安全assertEquals

时间:2015-03-06 13:37:53

标签: java junit

是否有一种方法可以禁止我在编译时为不同类型调用assertEquals()?我希望这段代码不可编译:

    String s = "foo";
    Integer i = 1;
    assertEquals(s, i);
编辑:这是因为在重构期间我更改了测试类的一个getter的返回类型,但我的单元测试仍然是可编译的。他们开始时失败了,但这还不够好。

1 个答案:

答案 0 :(得分:3)

使用Junit Matcher API:

    String s = "foo";
    Integer i = 1;
    assertThat(s, equalTo(i));

这会在编译时给你一个错误,有些人认为它很方便,因为你也可以使用其他匹配器而不是equals。