当前位置: 首页 > 知识库问答 >
问题:

JAVAAssertionError:JSON路径预期不同的结果

阎功
2023-03-14

我有一个与mockMvc一起工作的JUnit测试,它会发生一些奇怪的事情。我的测试用例看起来像那样...

@Test
public void getSignatureData() throws Exception {
    String dataXValues = "[0,5,10,15,20]";
    String dataYValues1 = "[100.0,20.0,30.0,40.0,50.0]";
    String dataYValues2 = "[1.0,2.0,3.0,4.0,5.0]";
    this.mockMvc
    .perform(get("/sources/fmf/actuators/w01.pmv/signatures/1486684800000"))

    .andDo(print())
    .andExpect(status().isOk())
    .andExpect(jsonPath("$.signature.id").value("1486684800000"))
    .andExpect(jsonPath("$.signature.actuatorId").value("w01.pmv"))
    .andExpect(jsonPath("$.signature.operation").value("OPEN"))
        .andExpect(jsonPath("$.signature.timestamp").value("1486684800000"))
        .andExpect(jsonPath("$.signature.ref").value(true))
        .andExpect(jsonPath("$.signature.current").value(false))
        .andExpect(jsonPath("$.signature.valid").value(true))
        .andExpect(jsonPath("$.signature.source").value("A"))
        .andExpect(jsonPath("$.data[0].sensorSource").value("SEMA"))
        .andExpect(jsonPath("$.data[0].sensorType").value("PRESSURE"))
        .andExpect(jsonPath("$.data[0].xValues", is(dataXValues)))
        .andExpect(jsonPath("$.data[0].yValues").value(dataYValues1))
        .andExpect(jsonPath("$.data[1].sensorSource").value("SEMA"))
        .andExpect(jsonPath("$.data[1].sensorType").value("FLOW"))
        .andExpect(jsonPath("$.data[1].xValues").value(dataXValues))
        .andExpect(jsonPath("$.data[1].yValues").value(dataYValues2));
}

我希望它能起作用,但我收到了这条信息。

java.lang.AssertionError: JSON path "$.data[0].xValues"
Expected: is "[0,5,10,15,20]"
but: was <[0,5,10,15,20]>
Expected :is "[0,5,10,15,20]"

Actual   :<[0,5,10,15,20]>

有人能帮我吗?在这种情况下,我用那些...

import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;

导入静态组织。汉克雷斯特。配对者*;

共有1个答案

周祺
2023-03-14

我遇到了同样的问题,并通过使用以下方法将测试中的预期数组和实际数组转换为列表来解决它:

Arrays.asList()

为我解决了这个问题。

 类似资料:
  • 问题内容: HQL连接查询有问题。谁能告诉我我的下面加入HQL查询有什么问题?我正在使用Hibernate 4.3.6,JDK 7和Groovy 2.2 我在上面的代码中运行时遇到以下错误 以下是我的包裹实体 以下是我的TransportFile实体 我参考了这篇文章HQL左联接:联接所需的路径,但是我的HQL联接查询没有任何磨损。 问题答案: 此异常 “预期加入的路径” 表示: 提供从一个实体到

  • 问题内容: 我刚进入hibernate状态,遇到了以下问题:我收到了 “希望加入的路径!” 当我尝试运行此查询时出现异常: 我想选择给定航班已售出机票的平均价格。 我的代码是: Flight.hbm.xml Ticket.hbm.xml 所有其他没有JOIN的查询都可以正常工作。我不知道问题出在哪里。 正确的查询是: 并与查询执行一起: 问题答案: 如您所链接的问题和Hibernate文档中所述,

  • 本文向大家介绍ASP的Server.MapPath()不同参数返回路径总结,包括了ASP的Server.MapPath()不同参数返回路径总结的使用技巧和注意事项,需要的朋友参考一下 在使用Server.MapPath()的时候,有很多的参数,什么绝对路径啊,相对路径啊,这些不复杂但是很容易弄混淆的东西,这里将他做一个整理。 如果当前的网站目录为E:\wwwroot 应用程序虚拟目录为E:\www

  • 问题内容: 我刚进入休眠状态,遇到了以下问题:我收到了 “希望加入的路径!” 当我尝试运行此查询时出现异常: 我的代码是: Flight.hbm.xml Ticket.hbm.xml 所有其他没有JOIN的查询都可以正常工作。我不知道问题出在哪里。 正确的查询是: 并与查询执行一起: 问题答案: 如您所链接的问题和Hibernate文档中所述,实体之间的连接使用关联。所以正确的查询是 还要注意,与

  • 我有一个带有两个衰减函数(ES 2.4.4)的查询,我使用对查询项中的衰减函数得分求和。对于测试,我使用来防止任何其他分数(来自查询)影响我的分数(我想测试衰减函数)。 这些是我的衰减函数: 我的结果包括2篇不同日期的文章(2017-08-28,2009-05-08)具有相同的优先级(1000)和相同的分数!(13.122)怎么会这样?为什么没有获得更好的分数?所以我试图解释查询。 对于2017-