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