SpringMVCフレームワークの下でControllerテストクラスの書き方
1375 ワード
SpringMVCフレームワークの下でControllerテストクラスの書き方
多くのコード友はこのような状況に遭遇する可能性があります.サービス層のJunit 4テストクラスをよく書きますが、ある日Controllerのテストクラスを書くのは、急に愚かになったのではないでしょうか.Controllerのテストクラスと私たちが通常書いているJunit 4のテストクラスは同じではありませんよ.あまり話さないで、直接コードをつけます.
@RunWith(SpringJUnit4ClassRunner.class)// SpringJunit
@ContextConfiguration(locations = {"classpath:/applicationContext.xml","classpath:/spring-mvc.xml"})// ,
@WebAppConfiguration// applicationContext webApplicationContext
public class ControllerTest {
private MockMvc mockMvc;
private MockHttpSession session;
// Web , MockMvc;
@Autowired
private WebApplicationContext wac;
@Before()//
public void setup() {
mockMvc = MockMvcBuilders.webAppContextSetup(wac).build(); // MockMvc
session=new MockHttpSession();
SysUserSession sysUserSession=new SysUserSession();// session , session
sysUserSession.setSetId(1);
session.setAttribute("sysUserSession",sysUserSession);
}
@Test
public void getControllerTest() throws Exception{
MvcResult result = mockMvc.perform(MockMvcRequestBuilders.get("/ ")
.accept(MediaType.TEXT_HTML)
.contentType(MediaType.TEXT_HTML)
.session(session))
.andDo(MockMvcResultHandlers.print())
.andReturn();
}
}