2015-08-28 8 views
7

Birim testini yeni bir Spring MVC projesi için deniyorum. Index.jsp hizmeti sunan ev denetleyicisi için bir geçiş testim var. WebConfig'imde ResourceHandlerRegistry tarafından sunulan statik kaynakları sunmayı denemeye çalışıyorum.Birim Nasıl Hazırlanır Statik kaynakları sınama Spring ResourceHandlerRegistry

Bunu nasıl doğru yapacağınız konusunda ipuçları var mı? Bir get "/ kaynaklar/css/test gerçekleştirirseniz standart bir yapılandırma ile

2015-08-28 12:53:09 WARN PageNotFound:1136 - No mapping found for HTTP request with URI [resources/css/test.css] in DispatcherServlet with name '' 

MockHttpServletRequest: 
    HTTP Method = GET 
    Request URI = resources/css/test.css 
     Parameters = {} 
     Headers = {} 

     Handler: 
      Type = null 

      Async: 
    Async started = false 
    Async result = null 

    Resolved Exception: 
      Type = null 

    ModelAndView: 
     View name = null 
      View = null 
      Model = null 

     FlashMap: 

MockHttpServletResponse: 
      Status = 404 
    Error message = null 
     Headers = {} 
    Content type = null 
      Body = 
    Forwarded URL = null 
    Redirected URL = null 
     Cookies = [] 

cevap

0

<mvc:resources mapping="/resources/**" location="/resources/"/> 

gibi: Baskıdan

@RunWith(SpringJUnit4ClassRunner.class) 
@WebAppConfiguration 
@ContextConfiguration(classes = {WebConfig.class}) 
public class HomeControllerTest { 

private MockMvc mockMvc; 

@Autowired 
private WebApplicationContext webApplicationContext; 

@Before 
public void setUp() throws Exception { 
    mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext) 
          .build(); 
} 

@Test 
public void testGetHomepage() throws Exception { //passing :) 
    this.mockMvc.perform(get("/")) 
      .andExpect(status().isOk()) 
      .andExpect(view().name("index")) 
      .andExpect(forwardedUrl("/WEB-INF/pages/index.jsp")); 
} 

@Test 
public void testGetResources() throws Exception { // TEST FAILS :(with 404 
    this.mockMvc.perform(get("resources/css/test.css")) 
      .andDo(print()) 
      .andExpect(status().isOk()) 
      .andExpect(forwardedUrl("/resources/css/test.css")); 
} 

} 

Çıktı(): Aşağıda benim kodudur. css "yerine" kaynaklar/css/test.css "css dosyasını geri alacaksınız. Neden bir bekleyiş bekliyorsun?

İlgili konular