【问题标题】:Output full difference between expected and actual list in assertj在 assertj 中输出预期列表和实际列表之间的完整差异
【发布时间】:2017-07-03 12:24:43
【问题描述】:

我正在使用 groovy、assertj、junit 和 gradle。我有一个包含类似断言的测试

assertThat(actualLongList).isEqualTo(expectedLongList)

当我运行 gradle test 并且这些列表不相等时,它会生成一个带有类似异常的测试报告

org.junit.ComparisonFailure: expected:<...ent2",
"element3",
"element4",
"element5]"]> but was:<...ent2",
"element4,
"element5",
"element6]"]>

我能否以某种方式配置异常输出格式,以便将两个列表全部输出?

 org.junit.ComparisonFailure: expected:
<["element1",
"element2",
"element3",
"element3",
"element4",]> but was:,
<["element1",
"element2",
"element4",
"element5",
"element6",]>

【问题讨论】:

    标签: gradle junit junit4 assertj


    【解决方案1】:

    这就是org.junit.ComparisonFailure#getMessage() 的工作原理(参见javadoc)。 如果你想要一个完整的(更好的?)描述,你可以使用containsOnlyElementsOf(或任何你认为合适的containsXxxElementsOf),你会得到类似的东西:

    java.lang.AssertionError: Expecting: <["element1", "element2", "element3", "element4", "element5", "element6", "element7", "element8", "element9"]> to contain only: <["element1", "element2", "element3", "element4", "element5", "element6", "element7", "element8", "element0"]> elements not found: <["element0"]> and elements not expected: <["element9"]>

    【讨论】:

      猜你喜欢
      • 2017-05-30
      • 1970-01-01
      • 1970-01-01
      • 2014-06-02
      • 1970-01-01
      • 1970-01-01
      • 2021-09-14
      • 1970-01-01
      • 2020-01-01
      相关资源
      最近更新 更多