В этой статье я покажу, как можно протестировать простой контроллер с помощью тестов 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
Немає коментарів:
Дописати коментар