1

最後に、いくつかの統合テストのコンテキストをセットアップし、@PathVariable または @ModelAttribute を予期するメソッドをテストすることができました。それでも、コントローラー内で使用される HTTPServletRequest をセットアップする方法がわかりません。

MyController {
    @Autowired
private HttpServletRequest request;
}

テストの実行中にリクエストが更新されません。私は何かを誤解しているかもしれません(私がSpringに慣れていない限り)。どうすればこれを達成できますか?答えてくれてありがとう!

4

2 に答える 2

0

HttpServletRequestは、メソッドパラメーターを介してコントローラーに渡されませんか?@Autowiredを使用して、インスタンス変数をSpringコンテキストBeanに接続します。たぶん、WebコントローラーをテストするためのMockHttpServletRequestを見ることができます。

于 2013-02-25T18:18:36.870 に答える
0

答えを記入する時間がありませんでした: MockHttpServletRequest と Spring 3.1.2 を使用しています。@Autowired を使用するのではなく、コントローラーからリクエスト Bean を取得することで解決できました。このようなもの:

mockRequest = (MockHttpServletRequest) applicationContext.getBean ("request");

これが他の誰かを助けることを願っています...

于 2013-02-28T19:55:35.037 に答える