junit test删除方法用spring

时间:2015-06-06 09:33:01

标签: java spring testing junit

我为删除方法做了以下测试方法。我在测试状态时得到200分,现在我需要在调用webservice之后测试一下,确保学生被删除了我使用这段代码来实现这个目标

.andExpect(jsonPath("$.id").value(s.getId().intValue()))

但得到异常json不能为null或emty,任何人都可以帮助我如何测试删除方法?

@Test
public void testDelete() throws Exception {
  Student s = data.getAll();
  ResultActions perform = mockMvc.perform(
      delete(studentWebservice.URL + "/{id}", m.getId()));
  perform.andDo(print())
      .andExpect(status().isOk())
      .andExpect(jsonPath("$.id").value(s.getId().intValue()))
      .andExpect(jsonPath("$.name").value(s.name));
}

服务中的方法

@RequestMapping(value = "/{id}", method = RequestMethod.DELETE)
public void delete(@PathVariable Long id);

方法实现

@Override
public void delete(@PathVariable Long id) {
    repo.delete(id);
}

1 个答案:

答案 0 :(得分:0)

您的服务不会在删除时返回任何内容,因此您无法以这种方式进行检查。 让它返回如下所示的json对象。

@Override public Student delete(@PathVariable Long id {
    Student s = repo.get(id);
    repo.delete(id);
    return s;
}