Java JUnit5比较失败,尽管IntelliJ合同

Java JUnit5比较失败,尽管IntelliJ合同,java,intellij-idea,junit,junit5,Java,Intellij Idea,Junit,Junit5,我有一个比较两个列表的简单JUnit5测试用例 JUnit未能通过测试,但当查看IntelliJ之间的差异时,它似乎与之相反——请参见图。 我错过了什么 更新: 这是测试 @Test @DisplayName("Comma separated ids over different lines") public void commaSeparatedOverLines() throws IOException { Path idFile = writeRequirementsFile("

我有一个比较两个列表的简单JUnit5测试用例

JUnit未能通过测试,但当查看IntelliJ之间的差异时,它似乎与之相反——请参见图。

我错过了什么

更新:

这是测试

@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);
}
@测试
@DisplayName(“不同行上以逗号分隔的ID”)
public void commaSeparatedOverLines()引发IOException{
路径idFile=WritereRequestsFile(“ID-234,ID-567”+
System.lineSeparator()+“ID-456”);
List List=new JiraLocalRequirementsReader().readRequirementsId(idFile.toString(),System.lineSeparator());
assertEquals(Arrays.asList(“ID-234”、“ID-567”、“ID-456”)列表);
}
苏特呢

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());
  }
}
公共类JiraLocalRequirementsReader{
公共列表readRequirementsId(字符串文件,字符串分隔符)引发IOException{
Path Path=Path.get(文件);
列表字符串=文件。readAllLines(路径);
if(separator.equals(System.lineSeparator())){
返回trimResult(strings.stream());
}
返回trimResult(strings.stream().flatMap(s->Arrays.stream(s.split(separator)));
}
私有列表结果(流输入){
返回input.map(String::trim).collect(Collectors.toList());
}
}

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

有了它,测试是绿色的,它是正常的


很抱歉打扰您,而且问题开头不好。

我们错过的是一次实际测试。我的第一个猜测是,您正在检查ArrayList引用的相等性,而不是其中存储的实际值。您是否阅读了有关assertArrayEquals的内容?当您没有向我们展示测试代码时,我们很难告诉您测试代码出了什么问题。