java - 无法理解的 JUnit 错误

标签 java junit

尝试通过预先将两个映射转换为列表来测试它们的相等性(包括顺序)。可能有更好的方法来做到这一点,但我想知道为什么会出现这个错误。这是测试:

@Test
public void sortedEntriesTest() {
    List<Map.Entry<String, AtomicInteger>> actualList = stream.sortedEntries(stream.getMap());
    List<Map.Entry<String, AtomicInteger>> expectedList = 
                                              expectedMap.entrySet()
                                                         .stream()
                                                         .sorted(Comparator.comparingInt(e -> -e.getValue().get()))
                                                         .collect(Collectors.toList());
    Assert.assertThat(expectedList, is(actualList));
}

这是错误:

java.lang.AssertionError: 
Expected: is <[file=1, for=1, project=1, is=1, an=1, just=1, example=1, this=2]>
 but: was <[file=1, for=1, project=1, is=1, an=1, just=1, example=1, this=2]>
Expected :is <[file=1, for=1, project=1, is=1, an=1, just=1, example=1, this=2]>

Actual   :<[file=1, for=1, project=1, is=1, an=1, just=1, example=1, this=2]>

最佳答案

尝试

Assert.assertThat(expectedList, is(equalTo(actualList)));

相反。

关于java - 无法理解的 JUnit 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49807017/

相关文章:

java - 如何更改 Java 中的特定变量?

java - 检查值是否没有数字,如果是,则用简写 Java 替换为 'Invalid'

java - 刷新 JComboBox

java - 抛出 InterruptedException 时不会清除线程中断状态

java - 如何记录某些测试用例故意失败?

java - 在 Linux 上创建 JPackage 安装程序 Java 应用程序时,linux-menu-group 应该是什么?

java - 使用 JUnit 开始 Java 测试

java - JUnit 显示 0.4 秒,Infinitest 4 毫秒测试的慢速测试警告

java - 静态库的导入如何在 Java/Spring 中工作?

java - JunitParamsRunner 测试