Ich versuche Unit-Test ein neues Spring MVC-Projekt. Ich habe einen bestandenen Test für den Heimcontroller, der index.jsp bedient. Ich versuche, statische Ressourcen zu testen, die von ResourceHandlerRegistry in meiner WebConfig bereitgestellt werden.So testen Sie Unit Statische Ressourcen getestet von Spring ResourceHandlerRegistry
Irgendwelche Tipps, wie man das richtig macht? Unten ist mein Code:
@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"));
}
}
Ausgabe von print():
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 = []