当前位置: 首页 > 面试题库 >

junit assertEquals忽略大小写

壤驷子安
2023-03-14
问题内容

即时通讯只是从C#->
Java移动。我需要使用junit编写一些测试。在我的测试中,我需要比较两个字符串以查看它们是否匹配。因此,我们也有Assert.assertEquals,但这是区分大小写的。如何使它不区分大小写?我需要的是:

"blabla".equals("BlabLA")

返回true。

因此,在C#中,我们曾经有:

public static void AreEqual (
    string expected,
    string actual,
    bool ignoreCase,
    string message
)

我很快就浏览了Junit文档,但似乎找不到任何东西。


问题答案:

我发现Hamcrest提供的断言必须比默认JUnit断言更好。Hamcrest给了很多很多选择,并提供了关于失败的更好信息。一些基本的Hamcrest匹配器内置到JUnitJUnit有assertThat内置,这并不是全新的东西。hamcrest.core在此处查看JUnitAPI中的包。尝试如下所示的IsEqualIgnoringCase。

assertThat(myString, IsEqualIgnoringCase.equalToIgnoringCase(expected));

对于静态导入,这将是

assertThat(myString, equalToIgnoringCase(expected));

如果您想真正花哨,可以这样做:

assertThat(myString, is(equalToIgnoringCase(expected)));

这样做的优点之一是,失败将说明这一点expected someString but was someOtherString。与expected true got false使用时相反assertTrue



 类似资料:
  • 本文向大家介绍grep 忽略大小写,包括了grep 忽略大小写的使用技巧和注意事项,需要的朋友参考一下 示例 给定一个文件sample: grep“ hello”的法线返回: 使用-i允许忽略大小写并匹配任何“ hello”:            

  • 问题内容: 是否可以确定String是否包含字符串模式?我想知道当字符不区分大小写时是否有可能。如果是这样,怎么办? 问题答案: 您可以使用 检查CharSequence是否包含搜索CharSequence(不区分大小写),处理为null。不区分大小写由String.equalsIgnoreCase(String)定义。 空的CharSequence将返回false。 这将比regex更好,因为

  • 我有一个Spring Boot应用程序,它公开了RESTAPI。此API接受枚举列表作为查询参数。该批状态用于根据其状态过滤所有批。 当试图调用这个RESTAPI时,我得到了以下错误 Spring正在BatchStatus中寻找active,而不是active。 深入研究spring转换服务,我发现了两个转换器。StringToEnumConverterFactory(来自Spring芯) 2。S

  • 在这种情况下,如果验证失败,我希望将请求返回给用户,并附上相应的错误消息。我遇到的问题是,我使用Jackson处理JSON请求,验证失败也会导致Jackson无法序列化消息。 例如,如果我有此对象: ...当我去序列化时,字段无效(假设它有11个字符)... ...我得到了一个JsonProcessingException(错误验证对象)。我已经确认一个有效的对象序列化没有问题。所以我的问题是:我

  • 问题内容: 我正在使用Java 7的新功能进行POC。我有在switch语句中使用String的代码,它可以工作。我也想使其不区分大小写。有没有一种方法可以在String上使用ignoreCase签出? 问题答案: 不,但是您可以打开。所以: 在我们挑剔的时候,您最好在英语语言环境中使用大写字母,以避免出现土耳其语问题

  • 问题内容: 我正在编写一个脚本,该脚本必须在Windows和Linux用户都手动修改过的目录上工作。Windows用户在分配文件名时往往根本不关心大小写。 有没有办法在Python的Linux端处理此问题,即我能否获得不区分大小写,类似glob的行为? 问题答案: 使用不区分大小写的正则表达式而不是glob模式。从全局模式生成正则表达式,因此 为您提供了不区分大小写的glob模式版本,作为已编译R