JSON 带有大小数的路径 预期:是 <1000> 但:是 <1000>
JSON path with big decimal Expected: is <1000> but: was <1000>
我的 Junit5 测试没有通过。
JSON path "$.balance" Expected: is <1000> but: was <1000>
我使用了树跟随模式。第一个是 returns 初始错误的方法。
其他两个 Java 抱怨“无法从 BigDecimal 转换为整数”。
我哪里错了?
BigDecimal balance = new BigDecimal(1000);
when(bankAccountTransactionsService.balance()).thenReturn(balance);
mvc.perform(get("/api/v1/balance")).andExpect(status().isOk())
.andExpect(jsonPath("$.balance", Matchers.comparesEqualTo(bankAccountTransactionsService.balance())));
mvc.perform(get("/api/v1/balance")).andExpect(status().isOk())
.andExpect(jsonPath("$.balance", Matchers.comparesEqualTo(balance)));
mvc.perform(get("/api/v1/balance")).andExpect(status().isOk())
.andExpect(jsonPath("$.balance", is(balance)));
可能是类型不匹配。您可以使用 balance.intVal()
:
修复它
BigDecimal balance = new BigDecimal(1000);
when(bankAccountTransactionsService.balance()).thenReturn(balance);
mvc.perform(get("/api/v1/balance")).andExpect(status().isOk())
.andExpect(jsonPath("$.balance", is(balance.intVal())));
我的 Junit5 测试没有通过。
JSON path "$.balance" Expected: is <1000> but: was <1000>
我使用了树跟随模式。第一个是 returns 初始错误的方法。
其他两个 Java 抱怨“无法从 BigDecimal 转换为整数”。
我哪里错了?
BigDecimal balance = new BigDecimal(1000);
when(bankAccountTransactionsService.balance()).thenReturn(balance);
mvc.perform(get("/api/v1/balance")).andExpect(status().isOk())
.andExpect(jsonPath("$.balance", Matchers.comparesEqualTo(bankAccountTransactionsService.balance())));
mvc.perform(get("/api/v1/balance")).andExpect(status().isOk())
.andExpect(jsonPath("$.balance", Matchers.comparesEqualTo(balance)));
mvc.perform(get("/api/v1/balance")).andExpect(status().isOk())
.andExpect(jsonPath("$.balance", is(balance)));
可能是类型不匹配。您可以使用 balance.intVal()
:
BigDecimal balance = new BigDecimal(1000);
when(bankAccountTransactionsService.balance()).thenReturn(balance);
mvc.perform(get("/api/v1/balance")).andExpect(status().isOk())
.andExpect(jsonPath("$.balance", is(balance.intVal())));