在我的应用程序中,Java - Sping Boot - Hibernate - Liquibase在正常运行时,检查版本是否正常工作,在使用错误的版本参数更新时,我得到了预期的错误。但在Junit测试中,无论版本参数如何,更新都通过了。
是否应在Liquibase中向创建表中添加一些内容?
@Version
private int version;
==================
@Test
void shouldNotUpdateDoctor_wrongVersion() throws Exception {
UpdateDoctorCommand updateDoctorCommand
= new UpdateDoctorCommand("test4update",LocalDate.of(1980, 5, 12),
LocalDate.of(2020, 11, 10), 16000, true, 2,3);
String requestJson = objectMapper.writeValueAsString(updateDoctorCommand);
postman.perform(MockMvcRequestBuilders.put("/api/v1/clinic/doctors/33")
.contentType(MediaType.APPLICATION_JSON)
.content(requestJson))
.andExpect(status().isBadRequest())
.andExpect(jsonPath("$").value("ROW_UPDATED_IN_ANOTHER_TRANSACTION"));
postman.perform(MockMvcRequestBuilders.get("/api/v1/clinic/doctors/33"))
.andExpect(status().isOk())
.andExpect(jsonPath("$.name").value("notUpdated"))
.andExpect(jsonPath("$.version").value("5"));
}
=====
java.lang.AssertionError: Status expected:<400> but was:<200>
Expected :400
Actual :200
1条答案
按热度按时间r8uurelv1#
正在添加测试应用程序:属性:
解决问题