我正在测试一个方法,看看它是否返回正确的字符串.该字符串由许多行的顺序组成,因此通常可以提供两种可能的组合.该顺序对我的应用程序不重要.
然而,由于行的顺序可能会改变,只写一个Assert语句将不起作用,因为有时它会通过测试,有时它会失败的测试.
那么,是否可以编写一个测试,它会根据2个或更多的预期字符串值来声明一个实际的字符串值,看看它们是否等于任何一个?
解决方法
使用Hamcrest
CoreMatcher
(包含在JUnit 4.4及更高版本)和assertThat():
assertThat(myString,anyOf(is("value1"),is("value2"));@H_403_11@