我需要執行聲明,指出集合包含來自其他集合的所有元素。在Spock中聲明'containsAll'時顯示更好的差異
下面的測試失敗了,因爲第一次收集不從第二個包含7
:
def first = [6, 1, 5, 2, 4, 3]
def second = [3, 4, 2, 5, 7, 6]
expect:
first.containsAll(second)
然而,測試失敗是無法讀取的。目前尚不清楚,只是7
丟失:
left.containsAll(right)
| | |
| false [3, 4, 2, 5, 7, 6]
[6, 1, 5, 2, 4, 3]
與AssertJ交易好得多:
java.lang.AssertionError:
Expecting:
<[6, 1, 5, 2, 4, 3]>
to contain:
<[3, 4, 2, 5, 7, 6]>
but could not find:
<[7]>
什麼樣的斷言將是斯波克慣用得到更好失敗消息containsAll
?
我認爲斯波克有更好的支持比較字符串,所以你可以嘗試'first.toString()== second.toString() '。當然這是一個骯髒的黑客... – injecteer