JUnit的最新版本已经发布,这里是它的下载地址。在JUnit4.4中新增的主要特性有:
assertThat——使用值/匹配(value/matcher)模式(这种模式是xMock框架首先引入的)提供了可读性更高,也更加灵活的测试,并使得错误消息更容易理解。
例如,原先的:
assertTrue(responseString.contains("color") || responseString.contains("colour"));
// ==> failure message:
// java.lang.AssertionError:
现在就变成了:
assertThat(responseString, anyOf(containsString("color"), containsString("colour")));
// ==> failure message:
// java.lang.AssertionError:
// Expected: (a string containing "color" or a string containing "colour")
// got: "Please choose a font"
在Joe Walnes的博客上可以看到更多的关于assertThat的用法。
Assumptions和Theories (通过assertThat方法使用) 可以让用户在测试中对正在使用的测试环境做出假定,这一点对于需要依赖测试域以外的实体的测试是非常有用的。