我认为那应该是一个非常简单的问题。但是不知何故我无法在Google中找到答案。
假设我有2个字符串列表。第一个包含 “字符串A”和“字符串B” ,第二个包含 “字符串B”和“字符串A” (注意顺序不同)。我想用
JUnit 测试它们,以检查它们是否包含 完全相同的 字符串。
是否有任何断言可以检查忽略顺序的字符串是否相等?对于给定的示例org.junit.Assert.assertEquals抛出AssertionError
java.lang.AssertionError: expected:<[String A, String B]> but was:<[String B, String A]>
解决方法是先对列表进行排序,然后再将它们传递给断言。但是我希望我的代码尽可能简单和干净。
我使用 Hamcrest 1.3 , JUnit 4.11 , Mockito 1.9.5 。
正如您提到使用Hamcrest一样,我会选择Matchers之一
import static org.hamcrest.collection.IsIterableContainingInAnyOrder.containsInAnyOrder;
import static org.junit.Assert.assertThat;
public class CompareListTest {
@Test
public void compareList() {
List<String> expected = Arrays.asList("String A", "String B");
List<String> actual = Arrays.asList("String B", "String A");
assertThat("List equality without order",
actual, containsInAnyOrder(expected.toArray()));
}
}
忽略列表显示不需要处理的资源或一类规则建议。 忽略列表显示不需要处理的资源或一类规则建议。当某资源或某类型的建议不需要用户处理时,可以通过忽略或忽略该类建议功能将其显示在忽略列表。 入口:在云管平台单击左上角导航菜单,在弹出的左侧菜单栏中单击 “优化建议/安全检查/忽略列表” 菜单项,进入忽略列表页面。 恢复 当忽略列表中某资源或某规则建议需要用户关注处理时,可以使用恢复功能将其显示在建议列表。
忽略列表显示不需要处理的资源或一类规则建议。 忽略列表显示不需要处理的资源或一类规则建议。当某资源或某类型的建议不需要用户处理时,可以通过忽略或忽略该类建议功能将其显示在忽略列表。 入口:在云管平台单击左上角导航菜单,在弹出的左侧菜单栏中单击 “优化建议/成本优化/忽略列表” 菜单项,进入忽略列表页面。 恢复 当忽略列表中某资源或某规则建议需要用户关注处理时,可以使用恢复功能将其显示在建议列表。
我正在尝试比较自定义对象的列表。我设置了LEVENSHTEIN_DISTANCE并创建了自定义比较器。对象之间唯一的区别是列表中值的顺序。我希望“没有变化”,但我得到了listchange。结果和示例如下。我做错了什么? 非常感谢和问候,安德烈
问题内容: 我有一个类(ClassA),可以在目录中获取文件。它在给定目录中扫描与正则表达式匹配的文件。对于每个匹配的文件,它将文件对象添加到列表中。处理目录后,它将文件列表传递给另一个类(ClassB)进行处理 我正在编写ClassA的单元测试,因此正在使用Mockito模拟ClassB,并将其注入ClassA。然后,我想在不同情况下验证传递给ClassB的列表的内容(即我的模拟) 我将代码剥离
现在,如果我使用以下代码进行比较,我将在XMLUnit的帮助下相互比较两个xml文件 现在它给出了:预期的属性值'02',但是'01',但我不希望有差异,我希望表id是唯一的,如果在另一个文件中看到相同的表id,则只检查本例中的Main-Element:table->包含什么。
我定义的正则表达式对所有测试字符串都很好,除了当捕获组顺序被交换时(2016 Fall或16F或18SU),正则表达式中是否有一种方法可以忽略正则表达式的捕获组顺序