2
我有一個對象列表,我想對對象本身進行Truth樣式的斷言,但我沒有看到任何合理的方式來表達比平等斷言更復雜的東西。我設想是這樣的:關於可迭代元素的斷言
assertThat(list).containsElementThat().matches("Foo .* Bar");
假設這不是真理可用,什麼是最真實-Y的方式來表達這樣的事情?如果我知道我一直在尋找我可以說這在列表中的位置是這樣的:
assertThat(list).hasSize(Math.max(list.size(), i));
assertThat(list.get(i)).matches("Foo .* Bar");
但(除了是有點哈克),只有當我事先知道i
工作,以及任意不起作用iterables。有沒有比自己做這個更好的解決方案?
哦有意思,我以前沒見過的'Correspondence'!儘管如此,這仍然很奇怪例如虛構的'assertThat(list).containsElementThat()。hasLength(5)'將成爲'assertThat(list).comparingElementsUsing(stringLengthCorrespondence).contains(5)'這是很難解析的。無可否認,它比自己重新實現一切都要好得多。 – dimo414
@ dimo414這是真的。但你也可以嘗試做一個拉請求,讓事情變得更好:) – vsminkov
不要害怕,這是我的計劃:)只是在我這樣做之前試圖瞭解世界的狀態。 – dimo414