вівторок, 11 грудня 2012 р.

Spring 3. MVC JUnit Тестирование для Controller’s

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

    org.springframework
    spring-test-mvc
    1.0.0.M1
    test


    org.hamcrest
    hamcrest-library
    1.3
    test
Ресурс: www.devcolibri.com

Немає коментарів:

Дописати коментар

HyperComments for Blogger

comments powered by HyperComments