gpt4 book ai didi

java - org.junit.ComparisonFailure 具有相同的结果

转载 作者:行者123 更新时间:2023-11-30 02:10:25 26 4
gpt4 key购买 nike

我克隆了现有项目,其中有 JUnit-4.12 中的一些单元测试。这些测试在每次推送到远程存储库后启动,并且它们将成功结束,但是当我在 Eclipse 中的本地计算机上运行它们时,它们将以 ComparisonFailure 结束。

org.junit.ComparisonFailure expected:<xy> but was:<xy>

这个错误将结束每个测试,我试图将发送的 json 与现有的 json 文件进行比较。

测试:

@Test
public void calculateSignedCasesView() throws JsonProcessingException {
Case case1 = prepareCase();
getEm().persist(case1);
SignedCasesViewFilter filter = new SignedCasesViewFilter(new LinkedHashSet<String>(Arrays.asList("testCode")), new Date(0), new Date(0));
SignedCasesView view = reportService.calculateSignedCasesView(filter);
String actual = getObjectMapper().writeValueAsString(view);
String expected = readToString("signedCasesReportView01.json");
Assert.assertEquals(expected, actual);
}

当我查看结果时,每行都有突出显示的初始空格。

结果: test result

我尝试将此结果复制到 MS Word 中查看,是否有任何不间断空格(已讨论 here ),但所有空格都是普通空格。或者我尝试使用不同的编码运行测试,但没有任何效果。

最佳答案

如果测试在存储库上工作,但在本地计算机上不起作用,我猜编码或生成 json 的方式存在一些差异。您尚未显示例如 readToString 函数或signedCasesReportView01.json 文件,这些文件在存储库和本地环境中可能有所不同。我的猜测是新行,这是不同环境中最常见的问题,当我查看您的测试用例时,没有任何其他特殊字符。

例如,当您将文件复制到 git 存储库并通过配置 core.autocrlf 修改它时,经常会发生这种情况,它会自动将\r\n 从本地 Windows 计算机更改为\n,因为另一端是 unix。即使提交的文件在客户端中可能不会显示差异,但它们实际上可能不同。比较字节流或逐行比较,您应该能够发现差异。

关于java - org.junit.ComparisonFailure 具有相同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50272225/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com