2017-09-20 42 views
0

我使用的是Spring引导1.5.6 RELEASE和JUnit 4.11。在一个特定的春天控制器,我有结束正是如此的方法.....如何写这个方法的junit测试用例

@RequestMapping(value= "/chipset/add", method = RequestMethod.POST) 
public String addChipSet(@ModelAttribute("chipset") Chipset c){ 
    this.chipsetService.addChipset(c); 
    return "redirect:/chipset"; 
} 

在我的JUnit测试,我如何验证从提交到我的控制器返回其返回该重定向?我用

@Test 
public void addChipsetTest() throws Exception { 
    mockMvc.perform(post("/chipset/add")) 
     .andExpect(status().isOk()) 
     .andExpect(redirectedUrl("chipset/redirect")); 
} 

但这扔java.lang.NullPointerException

所以请不要帮我

+0

您可以显示您的mockMvc的设置,以及抛出的空指针的确切位置? – Plog

+0

这里是mockMvc专用MockMvc mockMvc的设置;和NullPointerException异常抛出 mockMvc.perform(post(“/ chipset/add”)) – Siddu

回答

0

你不通过芯片组Ç参数在测试后要求, 我认为这是this.chipsetService.addChipset(c);它扔了空指针异常。

+0

它工作吗? –

+0

我写这样的,现在它的正常工作 @Test \t公共无效addChipsetTest()抛出异常{ \t \t芯片组芯片组\t = getChipSetEntity(); \t \t objectUnderTest.addChipSet(芯片组); \t \t \t \t \t \t} – Siddu

+0

,但它不是一个功能测试。现在它是一个单元测试 –