問題タブ [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.

0 投票する
0 に答える
1040 参照

java - mockMvc 期待例外

コントローラーが例外をスローしているかどうかをテストする方法を教えてください。

もちろん、この例外により、コントローラーは別のページにリダイレクトされるか、500 ステータス コードが返されます。私の場合、FF の内容に基づいて 500 Internal Server Error が返されます。

このステータスコードが必要だと言ってみましたが、うまくいきません。どうすればこれを達成できますか?

編集:

コントローラ:

MyService - getP():

どういうわけか私はこの例外を扱いたいです。

0 投票する
2 に答える
23869 参照

java - mockmvcでコントローラー例外を処理する方法

MockMVC を使用してコントローラーをテストしています。

私は次のコントローラーを持っています:

そして、私の現在のテストは次のようになります。

私はこれでMockMVCをインスタンス化しています:

コントローラーでスローされた例外を処理するにはどうすればよいですか?

後で編集:

最近私のコードで何が起こったのかわかりませんが、テストに合格しました:

is(500)に置き換えても合格ですisOk()。そして、これは良くありません。何らかの形でその例外をチェックする必要があります。

を実行すると、次のgradle buildようになります。

0 投票する
2 に答える
1324 参照

java - マルチパート MockMvc Sp​​ring テストを投稿する

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 つ期待されます. 依存関係の注釈:

0 投票する
1 に答える
15248 参照

java - 認証が必要なコントローラーで単体テストを実行する

一部のアクションにログインが必要なスプリング ブート アプリケーションがあります。を使用してテストしようとしていますMockMvcが、うまくいかないようです。ステータス 403 (禁止) の HTTP 応答を取得し続けます。おそらく認証部分に問題があるのでしょう。

ドキュメントに従ってみましたが、機能させることができませんでした。

これは私の現在のテストコードです:

明らかな何かが欠けている場合は申し訳ありません。スプリングブーツ初体験です。

0 投票する
0 に答える
2591 参照

java - Spring Boot MockMVC - スコープ付き Bean が正しく自動配線されていないリクエスト

リクエスト スコープの Bean を用意し、フィルターにデータを入力してから、コントローラーのデータにアクセスしたいと考えています。アプリを実行するとこれはすべて正常に機能しますが、MockMVC でテストしようとすると、コントローラーのリクエスト スコープ Bean にデータが設定されません。

コードは次のとおりです。

pom.xml

応用

RequestScopedBean

コントローラ

フィルター

そして最後にテスト:

スコープを「セッション」に変更すると、テストはパスします。

0 投票する
1 に答える
14920 参照

java - jsonPath でマップのキー/値を確認する

Map を返すコントローラーをテストしています

テスト:

マップからキーと値を読み取るには、どの式を使用すればよいですか?

編集:それを解決する方法は次のとおりです。

次に、マップをループして値をチェックします。しかし、それを行う方法はありjsonPathますか?

0 投票する
0 に答える
1064 参照

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 を取り除くことです。アプリケーションがそのプロパティに依存しているため、これは実行できません。これを解決する方法についてのアイデアはありますか?

前もって感謝します。

アップデート:

これは私の基本クラスです。私のテストクラスはこれを拡張しています。

0 投票する
1 に答える
1165 参照

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

ここで私が間違っているかもしれないことを提案してください。

0 投票する
2 に答える
5107 参照

spring-security - JUnit テストの実行時に Spring セキュリティがカスタム認証フィルターを呼び出していない

この記事に従って、Spring Security でカスタム ステートレス認証を実装しようとしています。

私が直面している問題は、SecurityConfig が前のリンクとほとんど同じように見える場合でも、カスタム フィルターがフレームワークによって呼び出されていないことです (少し単純です)。

authenticationProviderappAuthenticationFilterのコードは投稿しません。前者は正常に動作しており (/login エンドポイントを使用してログインできます)、後者は GenericFilterBean を実装するだけ呼び出されていないからです。

どんな助けでも大歓迎です!