我想测试我的更新方法是否保存更改为传递为路径变量的对象,但我堆栈(pet.species中的值没有变为" gorilla"):
R=301
此前方法:
@Test
public void updateMethodCanChangeParameters() throws Exception{
when(clinicService.findPetById(1)).thenReturn(one);
mockMvc.perform(post("/pet/update/{id}",clinicService.findPetById(1))
.param("species", "gorilla"))
.andExpect(status().isOk())
.andExpect(redirectedUrl("/pet/findById/1"));
assertThat(one.getId(), is (1L));
assertThat(one.getSpecies(), is("gorilla"));
assertThat(one.getName(), is("Kajtek"));
}
这看起来我测试的控制器方法(只是让它直接使用requestMapping / pet注释):
@Before
public void setUp () throws Exception {
mockMvc = MockMvcBuilders.standaloneSetup(new PetController(clinicService)).build();
one = new PetBuilder()
.id(1L)
.dateOfBirth("2000-10-12")
.name("Kajtek")
.species("dog")
.weight(2000)
.build();
我想当我使用param方法时,我设置参数名称和值然后将它们传递给保留在模型中的对象,但我错了吗?