0
我有兩個java.util.Scanner
對象。 Scanner
類實現Iterator<String>
。我想比較掃描儀,並且很容易看到哪些線條不同。如何比較單元測試中的迭代器內容?
目前我使用AssertJ軟斷言這樣
@Rule
JUnitSoftAssertions softly = new JUnitSoftAssertions();
...
Scanner actual = ...
Scanner expected = ...
int i = 0;
while (actual.hasNext() && expected.hasNext()) {
softly.assertThat(actual.next()).as("line %s", i++).isEqualTo(expected.next());
}
此代碼insn't完美的,但無論是在一個斷言做這個能力AssertJ?
我在Assertions
類中看到靜態IterableAssert<ELEMENT> assertThat(Iterator<? extends ELEMENT> actual)
方法,但在IterableAssert
中看不到適當的檢查方法。
Ha-ha ...我看到了這個方法,但它不能作爲'expected'掃描器實現'Iterator',但'containsExactlyElementsOf'方法需要'Iterable <?作爲參數擴展ELEMENT>'。 –
啊,好點。查看我的更新。 – Jeremy
@Jeramy它與我預期的略有不同,但是......謝謝! –