我应该测试更新方法的方式是什么?

时间:2016-06-04 20:04:56

标签: java testing junit spring-test

我想测试我的更新方法是否保存更改为传递为路径变量的对象,但我堆栈(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方法时,我设置参数名称和值然后将它们传递给保留在模型中的对象,但我错了吗?

0 个答案:

没有答案