В этой статье я покажу, как можно протестировать простой контроллер с помощью тестов JUnit.
Controller@Controller public class MyController { @Autowired private MyService myService; @RequestMapping(value = '/') public String home(Model model) { return 'index'; } @RequestMapping(value = '/roundtrip') public String persistenceStatus(Model model) { MilliTimeItem retr = myService.createAndRetrieve(); model.addAttribute('RoundTrip', retr); return 'roundtrip'; } }
Controller Testing
Следующий пример создает экземпляр MockMvc для проверки модели запросов пользователя:
@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(classes={ JpaTestConfig.class, TestConfig.class }) public class MyControllerTest { private MockMvc mockMvc; @Before public void setup() { mockMvc = MockMvcBuilders .annotationConfigSetup(JpaTestConfig.class, TestConfig.class) .build(); } @Test public void testHome() throws Exception { mockMvc.perform(get('/')) .andExpect(status().isOk()) .andExpect(forwardedUrl('WEB-INF/pages/index.jsp')); } @Test public void testPersistenceStatus() throws Exception { mockMvc.perform(get('/roundtrip')) .andExpect(status().isOk()) .andExpect(forwardedUrl('WEB-INF/pages/roundtrip.jsp')) .andExpect(model().attributeExists('RoundTrip')); } }
Dependencies
spring.test-mvc http://repo.springsource.org/libs-milestone
Ресурс: www.devcolibri.comorg.springframework spring-test-mvc 1.0.0.M1 test org.hamcrest hamcrest-library 1.3 test
Немає коментарів:
Дописати коментар