在 assertj 中输出预期列表和实际列表之间的完整差异
Output full difference between expected and actual list in assertj
我正在使用 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",]>
这就是 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"]>
我正在使用 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",]>
这就是 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"]>