ページの先頭行へ戻る
Interstage Business Application Server オープンJavaフレームワークユーザーズガイド
FUJITSU Software

3.1.17 TestContextフレームワーク

TestContextフレームワークを使用して、開発環境でサーバ側のメソッドに関するテストが実施できます。

サーバ側のメソッド:

@Controller
@RequestMapping(value = "/Sample")
public class SampleController {
@RequestMapping(value="/user/{userId}", method=RequestMethod.GET)
public ModelAndView findUser(@PathVariable String userId) {
	ModelAndView mav = new ModelAndView("displayUser");
	User user = userServcie.findUser(userId);  
	mav.addObject("user", user);
	return mav; 
    }
.......
}

上記メソッドのテスト:

@RunWith(SpringJUnit4ClassRunner.class)
@WebAppConfiguration("WebContent")
@ContextConfiguration(classes={ControllerConfiguration.class,..})
public class SampleControllerTest {
    @Autowired WebApplicationContext wac; // cached
    private MockMvc mockMvc;
    @Before
    public void setup() {
        this.mockMvc = MockMvcBuilders.webAppContextSetup(this.wac).build();
    }
    @Test
    public void findUser Test() throws Exception {
	ResultActions resultAction =this.mockMvc.perform(MockMvcRequestBuilders.get("/Sample/user/123"));
	resultAction.andExpect(MockMvcResultMatchers.status().isOk());
	resultAction.andExpect(MockMvcResultMatchers.view().name("displayUser"));
    }
.....
}

ポイント

JSON形式のリクエストに対するテストを行うにはMockMvcResultMatchersクラスのjsonPathメソッドを使用します。jsonPathメソッドを使用する場合は下記のライブラリをクラスパスに設定する必要があります。

[Interstageのインストールディレクトリ]\BAS\spring32\lib\json-path-0.8.1.jar

[Interstageのインストールディレクトリ]\BAS\spring32\lib\json-smart-1.1.1.jar

/opt/FJSVibs/lib/json-path-0.8.1.jar

/opt/FJSVibs/lib/json-smart-1.1.1.jar