リクエストコンテキストに依存するメソッドの単体テスト
2023-08-27 06:21:38
質問
私は次の行を含むメソッドのユニットテストを書いています。
String sessionId = RequestContextHolder.currentRequestAttributes().getSessionId();
以下のようなエラーが出ます。
java.lang.IllegalStateException: スレッドバインドされたリクエストは見つかりませんでした。これは 実際の Web リクエスト以外のリクエスト属性を指しているのでしょうか。 または、最初に受信したスレッドの外側でリクエストを処理していますか?もし Web リクエストの中で実際に操作しているにもかかわらず、このメッセージが表示されるのであれば、あなたのコードはおそらく Web リクエストの外側で実行されているのでしょう。 の外側で実行されている可能性があります。 DispatcherServlet/DispatcherPortletの外側で動作している可能性があります。 RequestContextListener または RequestContextFilter を使用して、現在の をリクエストしてください。
理由は明白で、リクエストコンテキストでテストを実行していないからです。
問題は、リクエストコンテキストに依存するメソッドへの呼び出しを含むメソッドを、テスト環境でどのようにテストできるかということです。
ありがとうございました。
どのように解決するのですか?
Spring-testには、MockHttpServletRequestという柔軟なリクエストモックがあります。
MockHttpServletRequest request = new MockHttpServletRequest();
RequestContextHolder.setRequestAttributes(new ServletRequestAttributes(request));
関連
-
[解決済み] Spring Dataです。"delete by "はサポートされていますか?
-
[解決済み] Spring DAOとSpring ORMとSpring JDBCの比較
-
[解決済み] Spring Securityをセッションなしで使用するにはどうすればよいですか?
-
[解決済み] モックMVC - リクエストパラメータをテストに追加する
-
[解決済み] URI [/WEB-INF/pages/apiForm.jsp] を持つ HTTP リクエストのマッピングが見つかりません [重複]。
-
[解決済み] クオーツ 決して実行されないCron式
-
[解決済み] Spring MVCアプリケーションにSwaggerを実装する「簡単な」方法
-
[解決済み] 要求されたBeanは現在作成中です。解決不能な循環参照はありますか?
-
[解決済み] Spring-BootプロジェクトでCSSなどの静的ファイルをどこに置くか?
-
[解決済み] Spring は Bean xml 設定ファイルが存在するにもかかわらず見つけることができない
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] クラスを@Componentでアノテートした場合、Spring BeanとSingletonということになるのでしょうか?
-
[解決済み] Spring Data JPAでネイティブクエリ結果をNon-Entity POJOにマップする。
-
[解決済み] Spring @PostConstruct と init-method 属性の比較
-
[解決済み] Spring Dataです。"delete by "はサポートされていますか?
-
[解決済み] 同じurlパターンに対して異なる引数で2つのメソッドを作成する
-
[解決済み] kotlinで@Autowiredのようなspringアノテーションを使用する方法とは?
-
[解決済み] Spring MVC @RestControllerとリダイレクト
-
[解決済み] RestController と @RepositoryRestResource の使い分けについて
-
[解決済み] Spring Security 403エラー
-
[解決済み] 要求されたBeanは現在作成中です。解決不能な循環参照はありますか?