我只是从c#-
"blabla".equals("BlabLA")
返回true。
所以在C#中,我们曾经有:
public static void AreEqual (
string expected,
string actual,
bool ignoreCase,
string message
)
我正在快速浏览JUnit文档,但我似乎找不到这样的东西。
我发现Hamcrest提供了比默认JUnit
断言更好的断言。Hamcrest提供了很多更多的选项,并在失败时提供了更好的消息。一些基本的Hamcrest
匹配器内置在JUnit
中,JUnit
内置了assertThis,因此这不是全新的东西。请参阅JUnit
API中的hamcrest. core
包。尝试一下看起来像这样的IsEqualIgnoringCase。
assertThat(myString, IsEqualIgnoringCase.equalToIgnoringCase(expected));
对于静态导入,这将是
assertThat(myString, equalToIgnoringCase(expected));
如果你想变得非常花哨,你会这样做:
assertThat(myString, is(equalToIgnoringCase(expected)));
这样做的优点之一是失败会声明期望某个String但却是某个其他String
。与相反,在使用
。assertTrue
时,预期的true变为false
使用
"blabla".equalsIgnoreCase("BlabLA") use for check equality ignore case
然后你就可以用
assertTrue("blabla".equalsIgnoreCase("BlabLA"))
JUnit
中不直接支持此断言(当然假设您使用的是JUnit),但您可以使用:
assertTrue("blabla".equalsIgnoreCase("BlabLA"))
可能值得将其包装在一个单独的辅助方法中,如果它们不匹配,该方法会提供合理的失败消息(查看assertTrue
的文档以了解如何做到这一点)。