在 Java 8 中比较两个 Stream
实例并找出它们是否具有相同元素的好方法是什么,特别是为了单元测试的目的?
我现在得到的是:
@Test
void testSomething() {
Stream<Integer> expected;
Stream<Integer> thingUnderTest;
// (...)
Assert.assertArrayEquals(expected.toArray(), thingUnderTest.toArray());
}
或者:
Assert.assertEquals(
expected.collect(Collectors.toList()),
thingUnderTest.collect(Collectors.toList()));
但这意味着我正在构建两个集合并丢弃它们。考虑到我的测试流的大小,这不是性能问题,但我想知道是否有一种规范的方法来比较两个流。
原文由 Vlad 发布,翻译遵循 CC BY-SA 4.0 许可协议