JUnit 类型安全的 assertEquals
JUnit type safe assertEquals
有没有一种方法可以禁止我在编译时为不同的类型调用 assertEquals()?我希望这段代码不可编译:
String s = "foo";
Integer i = 1;
assertEquals(s, i);
编辑:这是因为在重构过程中,我更改了测试 class 中一个 getter 的返回类型,但我的单元测试仍然可以编译。他们开始时失败了,但这还不够好。
使用 Junit 匹配器 API:
String s = "foo";
Integer i = 1;
assertThat(s, equalTo(i));
这会在编译时给你一个错误,有些人认为它在上面很方便,因为你还可以使用除 equals 之外的其他匹配器。
有没有一种方法可以禁止我在编译时为不同的类型调用 assertEquals()?我希望这段代码不可编译:
String s = "foo";
Integer i = 1;
assertEquals(s, i);
编辑:这是因为在重构过程中,我更改了测试 class 中一个 getter 的返回类型,但我的单元测试仍然可以编译。他们开始时失败了,但这还不够好。
使用 Junit 匹配器 API:
String s = "foo";
Integer i = 1;
assertThat(s, equalTo(i));
这会在编译时给你一个错误,有些人认为它在上面很方便,因为你还可以使用除 equals 之外的其他匹配器。