尽管IntelliJ收缩,但JUnit 5的比较失败了

时间:2018-02-19 08:56:58

标签: java intellij-idea junit junit5

我有一个简单的JUnit 5测试用例,可以比较两个列表。

JUnit未通过测试,但在查看IntelliJ似乎存在差异时的差异 - 请参阅图片。 enter image description here

我想念什么?

更新:

这是测试

@Test
@DisplayName("Comma separated ids over different lines")
public void commaSeparatedOverLines() throws IOException {
    Path idFile = writeRequirementsFile("ID-234, ID-567" + 
                             System.lineSeparator() + "ID-456");
    List<String> list = new JiraLocalRequirementsReader().readRequirementsId(idFile.toString(), System.lineSeparator());
    assertEquals(Arrays.asList("ID-234", "ID-567", "ID-456"), list);
}

和SUT

public class JiraLocalRequirementsReader {

public List<String> readRequirementsId(String file, String separator) throws IOException {
    Path path = Paths.get(file);

    List<String> strings = Files.readAllLines(path);
    if (separator.equals(System.lineSeparator())) {
      return trimResult(strings.stream());
    }
    return trimResult(strings.stream().flatMap(s -> Arrays.stream(s.split(separator))));
  }

  private List<String> trimResult(Stream<String> input) {
    return input.map(String::trim).collect(Collectors.toList());
  }
}

1 个答案:

答案 0 :(得分:0)

我找到了罪魁祸首,我使用的分隔符是lineSeparator,它没有拆分前两个ID(因此toString也看起来是正确的)。我们的想法是使用,,它可以正确地分割线条。

有了这个,测试是绿色的,没问题。

很抱歉打扰这个问题并开始糟糕的开始。