Tôi không thể kiểm tra nội dung trang với thử nghiệm mvc mùa xuân vì nó trống.Nội dung trống trong thử nghiệm mvc mùa xuân
Với bộ điều khiển đơn giản nhất có thể:
@RequestMapping(value = "/home")
public String home(HttpSession session, ModelMap model) {
return "home";
}
liên quan gạch cấu hình:
<definition name="base.definition" template="/jsp/view/application.jsp">
<put-attribute name="header" value="/jsp/view/header.jsp" />
<put-attribute name="menu" value="/jsp/view/menu.jsp" />
<put-attribute name="title" value="" />
<put-attribute name="body" value="" />
<put-attribute name="footer" value="/jsp/view/footer.jsp" />
</definition>
<definition name="home" extends="base.definition">
<put-attribute name="title" value="Welcome" />
<put-attribute name="body" value="/jsp/view/home/list-home.jsp" />
</definition>
Simple list-home.jsp
<p>Welcome</p>
Và kiểm tra:
@RunWith(SpringJUnit4ClassRunner.class)
@WebAppConfiguration()
@ContextConfiguration(classes = WebTestConfig.class)
public class HomeControllerTest {
@Autowired
private WebApplicationContext wac;
private MockMvc mockMvc;
@Before
public void _setup() {
this.mockMvc = MockMvcBuilders.webAppContextSetup(this.wac).build();
}
@Test
public void home() throws Exception {
mockMvc.perform(get("/home"))
.andDo(print())
.andExpect(status().isOk())
.andExpect(forwardedUrl("/jsp/view/application.jsp"))
.andExpect(content().string("Welcome"));
}
Và nó là không java.lang.AssertionError: Response content expected:<Welcome> but was:<>
các in ra phản ứng như sau:
MockHttpServletResponse:
Status = 200
Error message = null
Headers = {}
Content type = null
Body =
Forwarded URL = /jsp/view/application.jsp
Redirected URL = null
Cookies = []
Môi trường:
- mùa xuân 3,2
- Gạch 2
- Java 6
Tôi đã bỏ lỡ điều gì?
NB: Mã đang hoạt động trên Tomcat với trình duyệt thực.
Bạn không thể kiểm tra jsp (nội dung) bằng thử nghiệm mvc mùa xuân. Nó thậm chí còn khó hơn nếu có gạch liên quan. Tôi không tìm thấy liên kết tài liệu hoặc nguồn nhưng không thể. – meistermeier
Tài liệu: http://docs.spring.io/spring-framework/docs/3.2.0.BUILD-SNAPSHOT/reference/htmlsingle/#spring-mvc-test-framework với dòng sau 'Đối với hầu hết mọi thứ, mọi thứ nên hoạt động như trong thời gian chạy với ngoại lệ hiển thị JSP, không có sẵn bên ngoài vùng chứa Servlet ' – meistermeier
Vì vậy, quá trình thử nghiệm được trình bày trong http://www.infoq.com/presentations/spring-mvc-test-htmlunit không khả dụng trước mùa xuân 4.x. Tôi có đúng không? – takacsot