有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Eclipse有没有办法像unix(TeamCity)构建主机那样运行Java单元测试?组织。朱尼特。比较失败问题

我有一个奇怪的问题,我可以通过TeamCity构建我们的代码库,而没有任何问题。另一方面,当我通过Eclipse触发构建时,我得到了org。朱尼特。比较失败

失败的代码如下所示:

@Test
public void prettyPrintTest() throws BunchOfExceptions {
    InputStream formattedXml = DomUtilsTest.class.getResourceAsStream("/path/to/sample/file/formattedOutput.xml");
    InputStream notFormattedXml = DomUtilsTest.class.getResourceAsStream("/path/to/sample/file/notFormattedInput.xml");

    DocumentBuilder builder = ClassBeingTested.getDocumentBuilderFactory().newDocumentBuilder();
    Document notFormattedDocument = builder.parse(notFormattedXml);
    String prettyPrintedXmlContent = ClassBeingTested.prettyPrint(notFormattedDocument);
    
    Assert.assertEquals(IOUtils.toString(formattedXml), prettyPrintedXmlContent);
}

单元测试在TeamCity上很好,在我同事的IntelliJ上也很好(他编写了这段代码)。但我的机器出现以下错误:

org.junit.ComparisonFailure: 
expected:<<message>[
    <header>
        <messagetype>HelloWorld</messagetype>
    </header>
    <body>
        <messageBody>HolaComoEstas!</messageBody>
    </body>
</message>
]
> but was:<<message>[
    <header>
        <messagetype>HelloWorld</messagetype>
    </header>
    <body>
        <messageBody>HolaComoEstas!</messageBody>
    </body>
</message>
] 

你知道我如何配置Eclipse以TeamCity Unix主机的方式运行它吗?或者有没有办法使这个单元测试平台独立


共 (1) 个答案

  1. # 1 楼答案

    我可以通过打开git bash,转到格式化XML文件的路径(例如C:/path/to/sample/file/formattedOutput.XML),然后以以下方式执行dos2unix来修复此问题:

    dos2unix.exe ./formattedOutput.xml
    

    看来上面的评论中Mark Rotteveel是正确的

    谢谢