MockMvcBuilder.standaloneMvcSet(new TestController()).build()
		.perform(get("/form"))
		.andExpect(status().isOk())
		.andExpect(content().type("text/plain"))
		.andExpect(content().string("hello world"));

		1. NullpointerException이 발생한다.

TestController controller = new TestController();
MockHttpServletRequest req = new MockHttpRequest();
MockHttpServletResponse res = new MockHttpResponse();
ModelAndView mav = controller.form(req,res);
assertThat(res.getStatus(),is(200));

		1. 두 매개변수는 @MVC에서 자주 사용하지 않는 매개변수이다.
			==> 	@RequestMapping
				@ModelAttribute
				Model

		2. 결과타입은 ModelAndView로 가정한다.
			==>	String (View 이름만 반환)
				void도 많다.


단위테스트
	모든 객체의 Mock객체를 만들어서 컨트롤러에 주입테스트	

통합테스트
	테스트용 ApplicationContext만들어 비 주입 기능을 사용해야 한다.
	==> TestContext라는 기능으로 지원하고
	    ApplicationContext 공유 기능을 제공한다.

	    ApplicationContext를 한 번만 만들어서 TestContext에 캐시하여 사용한다.

		@RunWith(SpringJUnit4ClassRunner.class)
		@contextConfiguration("/testContext.xml")
		public class TestClassA{

		}

		==>@RunWith
		   @ContextConfiguration
			@Autowired
			@Inject

Spring-Test-MVC 와 TestContext 연동

	
@Autowired ApplicationContext context; --> MockMvc

MockMvc mockMvc = MockMvcBuilders.applicationContextMvcSetup(context).configureWasRootDir("src/test/webapp",false).build();

Spring-Test-MVC는 ApplicationContext 타입의 객체로 MockMvc 객체를 마드는 메서드를 제공하지 않는다.
WebApplicatioinContext 타입은 가능하다.