問題タブ [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.
spring-mvc - Spring MockMvc と非同期コントローラーの HTTP ステータス コード
コントローラーが非同期サーブレットの性質を持つ場合、MockMvc で 500 内部サーバー エラーを検証/テストするにはどうすればよいですか?
サーバーが 500 内部エラーを http コードとして適切なエラー メッセージと共に送信することを検証する必要があるテスト ケースの一部として、REST エンドポイントの単体テスト ケースを作成しています。
これが私のスプリングブートベースのアプリです:(読みやすくするためにすべてのインポートは省略されています)
これが私の MovkMvc JUnit テスト ケースです。
以下はコンソールの出力です。
上記のログから、MockMvc が http ステータス コードを 500 ではなく 200 として返していることが明らかです。エラー メッセージは問題ありません。
Chrome postman を使用してエンドポイントを呼び出すと、画像に添付されているように 500 内部サーバー エラーが表示されます
spring - Spring Boot MockMVC テストが Yaml ファイルをロードしない
クラスパスのルート (src/main/resources/) にある application.yml ファイルに構成があります。アプリケーションを正常に起動すると、構成が正常に読み込まれます。ただし、私のテストでは、application.yml ファイルはまったく読み込まれません。
テストのヘッダーは次のようになります。
構成クラス:
アプリケーションをデバッグすると、yml ファイルが ConfigFileApplicationListener に読み込まれますが、テストでは ConfigFileApplicationListener が呼び出されません。
spring - 春の単体テスト 404\モック mvc の不明な URL
不明な URL が要求され、404 エラーが生成されたときに、Web アプリが実際に正しい場所にリダイレクトされることをテストしたいと思います。
私はこれを機能させることができませんでした。Tomcat が 404 エラーを処理しているため、テストでは forwardedUrl が常に null であると思います。URLにゴミを入力すると、アプリがカスタムページにリダイレクトされるため、これが実際に機能することはわかっています。
私の単体テストは次のようになります。
私の web.xml 構成は次のとおりです。
/static のマッピングは、私の春の設定で次のように定義されています。
最終的に、不明な URL へのリクエストをモックして、返されるページが /static/error/Sorry.html であることを確認したいと思います。
私は何か間違ったことをしていますか、これは春に404などを処理する方法ではありませんか? 単体テストで転送された URL のチェックは常に null です。
少し異なる質問ですが、関連するのはすべて同じです.Tomcatのエラー処理は、スプリングコントローラーのアドバイス処理に加えてどの時点で呼び出されますか?
java - Spring MockMvcResultMatchers jsonPath が小さい/大きい
MockMvcResultMatchers を使用してコントローラー クラスをテストしています。
これがサンプルコードです
しかし、どうすれば $.total 値を数値と比較できますか?
つまり、$.total > 0 であることを確認する方法はありますか?
java - Spring MockMVC を使用して JSON をリクエスト パラメータとしてエンコードする方法
Spring の MockMVC を使用して記述しているテストのリクエスト パラメーターとして JSON をエンコードしようと数時間試みましたが、うまくいきませんでした。
私のテストは次のようになります
しかし、コントローラーに到達する文字列はまだエンコードされているため ("%7B%22key%22:%22value%22%7D")、JSON として逆シリアル化することはできません。
Spring にエンコードされたパラメーターを理解させるために何が欠けていますか?
助けてくれてありがとう
spring - mockmvc を使用した Spring 統合テストで org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'application/json' not supported がスローされる
春の統合テストに奇妙な問題があります。Tomcat で動作するコントローラーとアプリケーションがあります。ただし、統合テストでは、次のスタックトレースを取得します。
私のテストは次のようになります。
そして私のコントローラーメソッド:
宛先:
私のgradle.build
より興味深いものにするために、スタンドアロンのセットアップを使用して動作するコントローラーの単体テストもあります。
前進する方法について何か提案があれば、それは非常にありがたいです!!
解決済み - スローされた JSP ランタイム例外を渡すために、ルート設定に excludeFilters={@Filter(type=FilterType.ANNOTATION, value=EnableWebMvc.class) がありました。それを削除して、クラスパスに serverruntime を含めると、動作が開始されました。
ありがとうカール
java - Spring Rest で Map パラメータを MockMVC でテストする方法
Spring Restには、このメソッドを公開するRestControllerがあります。
SpringのMockMVCを使用して、このメソッドをテストしたいと思います。
問題は、500 HTTP エラー コードが表示されることです。これは、コントローラーのパラメーターとしてMapを使用していることが原因であると確信しています (それを String に変更してみましたが、うまくいきました)。
質問は次のとおりです: RestController にMap in パラメータを設定し、MockMVCを使用して正しくテストするにはどうすればよいですか?
助けてくれてありがとう。
java - 春にコントローラーをテストしますか?
いくつかのコントローラーを呼び出して機能テストを作成したいと考えています。
perform/1 が呼び出された後、 User モデルがセッションに保存されます:
同じテストで perform/1 の直後に perform/2 を呼び出したいのですが、その場合は user = null のようです。これは正常な動作ですか?
どうすればこれを達成できますか? Spring コントローラーを使用して機能テストを作成するにはどうすればよいですか?