【发布时间】:2020-02-11 17:26:17
【问题描述】:
对于以下内容,Jacoco 说所有 4 个分支都已涵盖。
list.stream()
.forEach(item -> item.type.equals("Good") && item.expired == false);
但是对于这个 sn-p,并运行同一组测试,Jacoco 说缺少 1 个分支。
list.stream()
.filter(item -> item.type.equals("Good") && item.expired == false)
.findFirst()
.get()
这怎么可能?
psuedocode:
public void testA() {
// new Item(item type, is expired)
item1 = new Item("Good", false);
item1 = new Item("Good", true);
item1 = new Item("Electricity", false);
item1 = new item("Water", true);
Item result = service.methodToTest(item1, item2, item3, item4);
assertThat(result).isEqualTo(item1);
}
【问题讨论】:
-
你能把你为它写的测试包括进去吗?
标签: java java-8 java-stream code-coverage jacoco