問題タブ [mockmvc]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - mockMvc 期待例外
コントローラーが例外をスローしているかどうかをテストする方法を教えてください。
もちろん、この例外により、コントローラーは別のページにリダイレクトされるか、500 ステータス コードが返されます。私の場合、FF の内容に基づいて 500 Internal Server Error が返されます。
このステータスコードが必要だと言ってみましたが、うまくいきません。どうすればこれを達成できますか?
編集:
コントローラ:
MyService - getP():
どういうわけか私はこの例外を扱いたいです。
java - mockmvcでコントローラー例外を処理する方法
MockMVC を使用してコントローラーをテストしています。
私は次のコントローラーを持っています:
そして、私の現在のテストは次のようになります。
私はこれでMockMVCをインスタンス化しています:
コントローラーでスローされた例外を処理するにはどうすればよいですか?
後で編集:
最近私のコードで何が起こったのかわかりませんが、テストに合格しました:
is(500)
に置き換えても合格ですisOk()
。そして、これは良くありません。何らかの形でその例外をチェックする必要があります。
を実行すると、次のgradle build
ようになります。
java - マルチパート MockMvc Spring テストを投稿する
Junit、Mockmvc、およびSpringを使用しているアップロードをテストしようとしています
私たちを手伝ってくれますか?
エラー スタック トレース:
[org.springframework.test.context.support.DependencyInjectionTestExecutionListener@361cb7a1] テスト インスタンスを準備する [endpoint.security.tests.UploadTest@6f7918f0] org.springframework.beans.factory.BeanCreationException: 名前が 'endpoint.security. tests.UploadTest': 自動配線された依存関係の注入に失敗しました。ネストされた例外は org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.sun.jersey.server.impl.application.WebApplicationContext endpoint.security.tests.UploadTest.wac; です。ネストされた例外は org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualing bean of type [com.sun.jersey.server.impl.application.WebApplicationContext] の依存関係が見つかりません: この依存関係のオートワイヤー候補として適格な Bean が少なくとも 1 つ期待されます. 依存関係の注釈: [.cp/:na] の {@org.springframework.beans.factory.annotation.Autowired(required=true)} 原因: org.springframework.beans.factory.BeanCreationException: フィールドを自動配線できませんでした: private com .sun.jersey.server.impl.application.WebApplicationContext endpoint.security.tests.UploadTest.wac; ネストされた例外は org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualing bean of type [com.sun.jersey.server.impl.application.WebApplicationContext] の依存関係が見つかりません: この依存関係のオートワイヤー候補として適格な Bean が少なくとも 1 つ期待されます. 依存関係の注釈: プライベート com.sun.jersey.server.impl.application.WebApplicationContext endpoint.security.tests.UploadTest.wac; ネストされた例外は org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualing bean of type [com.sun.jersey.server.impl.application.WebApplicationContext] の依存関係が見つかりません: この依存関係のオートワイヤー候補として適格な Bean が少なくとも 1 つ期待されます. 依存関係の注釈: プライベート com.sun.jersey.server.impl.application.WebApplicationContext endpoint.security.tests.UploadTest.wac; ネストされた例外は org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualing bean of type [com.sun.jersey.server.impl.application.WebApplicationContext] の依存関係が見つかりません: この依存関係のオートワイヤー候補として適格な Bean が少なくとも 1 つ期待されます. 依存関係の注釈:
java - 認証が必要なコントローラーで単体テストを実行する
一部のアクションにログインが必要なスプリング ブート アプリケーションがあります。を使用してテストしようとしていますMockMvc
が、うまくいかないようです。ステータス 403 (禁止) の HTTP 応答を取得し続けます。おそらく認証部分に問題があるのでしょう。
ドキュメントに従ってみましたが、機能させることができませんでした。
これは私の現在のテストコードです:
明らかな何かが欠けている場合は申し訳ありません。スプリングブーツ初体験です。
java - Spring Boot MockMVC - スコープ付き Bean が正しく自動配線されていないリクエスト
リクエスト スコープの Bean を用意し、フィルターにデータを入力してから、コントローラーのデータにアクセスしたいと考えています。アプリを実行するとこれはすべて正常に機能しますが、MockMVC でテストしようとすると、コントローラーのリクエスト スコープ Bean にデータが設定されません。
コードは次のとおりです。
pom.xml
応用
RequestScopedBean
コントローラ
フィルター
そして最後にテスト:
スコープを「セッション」に変更すると、テストはパスします。
java - jsonPath でマップのキー/値を確認する
Map を返すコントローラーをテストしています
テスト:
マップからキーと値を読み取るには、どの式を使用すればよいですか?
編集:それを解決する方法は次のとおりです。
次に、マップをループして値をチェックします。しかし、それを行う方法はありjsonPath
ますか?
controller - MockMVC が server.context-path=/myRoot で動作しない
O. Spring ブート server.context-path=/myRoot を使用しています。次に、@RequestMapping("/some/path") を処理する @RestController があります。コントローラー単体テストでは、MockMvc を使用しています。
だから私の問題は、コンテンツが空になることです。これは、単体テストで server.context-path=/myRoot を使用していないためです。したがって、この URL "/myRoot/some/path" を使用すると、一致するハンドラーが見つからないため、http ステータスは 400 になります。この URL "/some/path" を使用すると、http ステータスは 200 になりますが、コンテンツは空です (空であってはならない場合)。コントローラーに @RequestMapping("/myRoot") のアノテーションを付けると、この URL "/myRoot/some/path" で動作します。しかし、私のアプリケーションは期待どおりに動作しません。この最後のケースでは、サービスからの応答を得るために、この URL "/myRoot/myRoot/some/path" を使用する必要があります。
したがって、理想的な解決策は、server.context-path=/myRoot を取り除くことです。アプリケーションがそのプロパティに依存しているため、これは実行できません。これを解決する方法についてのアイデアはありますか?
前もって感謝します。
アップデート:
これは私の基本クラスです。私のテストクラスはこれを拡張しています。
spring-mvc - org.springframework.web.servlet.DispatcherServlet noHandlerFound MockMvc を介してテストする場合
Spring Mvc 4 を使用してレスト サービスを定義し、MockMvc を使用して同じサービスをテストしました。次の URL から Tomcat 7 を使用してサービスを実行すると、正しい応答が返されます。
http://localhost:8080/SpringServiceSample/service/greeting/Niharika
しかし、Junit テストを実行すると、ログに次のような 404 エラーが表示されます。
コードは次のとおりです。
SpringServiceController.java
テストサーブレット.xml
web.xml
SpringServiceControllerTest.java
ここで私が間違っているかもしれないことを提案してください。
spring-security - JUnit テストの実行時に Spring セキュリティがカスタム認証フィルターを呼び出していない
この記事に従って、Spring Security でカスタム ステートレス認証を実装しようとしています。
私が直面している問題は、SecurityConfig が前のリンクとほとんど同じように見える場合でも、カスタム フィルターがフレームワークによって呼び出されていないことです (少し単純です)。
authenticationProviderとappAuthenticationFilterのコードは投稿しません。前者は正常に動作しており (/login エンドポイントを使用してログインできます)、後者は GenericFilterBean を実装するだけで呼び出されていないからです。
どんな助けでも大歓迎です!