0
能否请您指教谁使用JUnit 4和Spring MVC测试集?Junit的 - 春天 - 测试集合
控制器
@Controller
public class PersonController {
@Autowired
private PersonService personService;
@RequestMapping(value = {"/", "/index"}, method = RequestMethod.GET)
public String getPerson(Model model) {
model.addAttribute("personData", personService.getPerson);
return "personPage";
}
}
测试人的类可以这样做:
public class TestPersonController {
@Mock
private PersonService personService;
@InjectMocks
private PersonController personController;
private MockMvc mockMvc;
@Before
public void setup() {
MockitoAnnotations.initMocks(this);
mockMvc = MockMvcBuilders.standaloneSetup(personController).build();
}
@Test
public void testGetPerson() throws Exception {
when(personService.getPerson(1L)).thenReturn(new Person(1L, "StackOverflow"));
mockMvc.perform(get("/person/{id}", 1L))
.andExpect(status().isOk())
.andExpect(view().name("personPage"))
.andExpect(model().attribute("personData",
allOf(hasProperty("id", is(1L)),
hasProperty("name", is("StackOverflow")))));
}
}
但我无法弄清楚,如果perService.getPerson返回列表如何测试!
让我们看看你的控制器。 –
另外,你有什么尝试测试'List'返回的对象? –
@SotiriosDelimanolis - 我添加了控制器代码。对不起,我不知道该怎么做,我试图运行相同的Junit代码,并且(如预期的)失败。 – Sandeep