返回true。
所以在C#中,我们曾经有过:
public static void AreEqual( string expected, string actual, bool ignoreCase, string message )我很快就通过Junit文档,但我似乎无法找到这样的东西。
解决方案我发现 Hamcrest 提供的断言必须比默认的 JUnit 断言更好。 Hamcrest提供了更多选项,并在失败时提供更好的消息。一些基本的 Hamcrest 匹配器内置于 JUnit 和 JUnit 已内置内置的 assertThat 不是全新的东西。请参阅 JUnit API中的 hamcrest.core 包此处。尝试 IsEqualIgnoringCase ,如下所示。
assertThat(myString,IsEqualIgnoringCase.equalToIgnoringCase(expected));使用静态导入时,这将是
assertThat(myString,equalToIgnoringCase(expected));如果你想真正想要的话:
assertThat(myString,is(equalToIgnoringCase(expected)));这样做的一个优点是失败会说明期望someString但是someOtherString 。与相反,当使用 assertTrue 时,预期true得到假。
im just moving from c# -> java. I need to write some tests using junit. In my test i need to compare two strings to see if they match. So we also have the Assert.assertEquals, but this is case sensitive. How can i make it case insensitive? What i need is:
"blabla".equals("BlabLA")to return true.
So in C#, we used to have :
public static void AreEqual ( string expected, string actual, bool ignoreCase, string message )I was quickly going thru Junit docs, but i can't seem to find anything like this.
解决方案I find that Hamcrest provides must better assertions than the default JUnit asserts. Hamcrest gives MANY MANY more options and provides better messages on failure. Some basic Hamcrest matchers are built into JUnit and JUnit has the assertThat built in so this is not something totally new. See the hamcrest.core package in the JUnit API here. Try IsEqualIgnoringCase which would look like this.
assertThat(myString, IsEqualIgnoringCase.equalToIgnoringCase(expected));With static imports this would be
assertThat(myString, equalToIgnoringCase(expected));if you want to get really fancy you would do:
assertThat(myString, is(equalToIgnoringCase(expected)));One of the advantages of this is that a failure would state that expected someString but was someOtherString. As opposed to expected true got false when using assertTrue.
更多推荐
junit assertEquals忽略大小写
发布评论