問題タブ [spring-mvc-test]

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 投票する
2 に答える
3385 参照

spring - Spring MVC テスト (セキュリティ統合テスト)、JSESSIONID は存在しません

スプリング ブート アプリ用のカスタム ログイン フォームを作成しました。私のフォーム統合テストでは、受信した Cookie にJSESSIONIDXSRF-TOKENが含まれていることを確認したいと考えています。

しかし、受け取ったのはXSRF-TOKENだけでした。

これが私のテストです:

セキュリティ設定:

必要な結果を得るのを手伝ってください。

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

inputstream - spring-mvc-test andDo() メソッドの使用時に InputStream が指定されていません

最近、spring-mvc-test-framework を使用して作業を行うと、次のようなコードが表示されます。

その後、このエラーが発生しました。

検索しても答えが見つかりません。なぜこれが起こるのか誰か教えてもらえますか?

今、私は別の解決策を得ました。

実際、公式リファレンスhttp://docs.spring.io/spring-restdocs/docs/1.0.0.RELEASE/reference/html5/#getting-started-build-configuration-maven-packagingでSpring MVC テスト例を使用しています。次のように setUp() メソッドを使用します。

目的は api を文書化することです。もう 1 つの解決策は、apply() メソッドを使用して問題を解決することです。

まず、次のように変更しました:

次に、次のようなバージョンの問題を解決しました: spring-restdocs は apply() を認識していません

以下のすべての私のコード:

誰かがそのような質問に遭遇した場合、これがあなたの助けになることを願っています.

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

java - spring test mvc にリクエストパーツを設定する

を使用するコントローラーを (Spring テスト (mvc) を通じて) テストしようとしています。servletRequest.getParts()

私がこれまで読んだのは、それMockMvcRequestBuilders.fileUpload().file()が解決策であるということだけです。しかし、私はそれを機能させることはできません。私は失敗する次のテストを書きました

私は春のコードを調べました.別のリストから要素を取得するときにfile(...)要素を追加する呼び出しList<MockMultipartFile>getParts()(Map<String, Part> parts)

他にやり方があるはず…

編集 1

コントローラーをテストするために使用しているコードは次のとおりです。

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

spring - 子テーブルの JPA 外部キーが null です

以下のクラスがあり、JPAを使用して1対多の関係を取得しようとしています。xml メッセージが restcontroller に送信されると、メッセージは親テーブルと子テーブルの両方に格納されますが、外部キーは常に null です。何か問題があればお知らせください。

データを永続化するために使用しているレスト サービスと、以下は、このレスト メソッドに投稿しているサンプル xml です。

子クラス

そして私の親クラス

そして私のxml

以下は、チームでエントリを作成した後に表に表示されている結果です。player テーブルの team_id フィールドは null であることに注意してください。これは私の問題です。このフィールドが team_id 値を取得するように修正する方法を知る必要があります。

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

spring - @Autowired 依存関係の @Mock がランダムな junit テストの失敗を引き起こす

私の spring-mvc アプリは動作します。わーい!証拠:

ここに画像の説明を入力

これは私の良いセットアップです:

私の重要な部分Buggy-servlet.xml

bug-core.xmlインポートするファイルの重要な部分:

VersionInfoクラス:

そして最後に、VersionInfoControllerクラス:

大丈夫だよー!

今問題:

単体テストしたい。よくやったと思います。私VersionInfoControllerTestのクラス:

WebAppContextクラス:

TestContextクラス:

mvn clean installjunit を実行します ( Eclipse の junit 起動構成を介して、またはその中で)。大丈夫だよー。

に示されている 2 行のコメントを外すとVersionInfoControllerTest、テストが失敗するか成功する可能性があります (多くの場合、失敗します)。失敗すると、次の 2 つの方法のいずれかで失敗します。

方法 1:

方法 2 はもっと悪いです:

StackOverflowErrorなので、メモリがなくなるまで繰り返す。

問題を示すgithubプロジェクトを立ち上げました

何か案は?私は何を間違えましたか?私が言うことができる限り、SOとブログ、フォーラム、春のドキュメントで他の受け入れられた答えを正確に行いました。

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

spring-boot - 複数の TomcatServletContainerInitializer を使用した SpringBoot junit テスト - BindException: Address already in use"

私はSpring Bootアプリを持っており、現在、すべてのテストを個別に、つまり手動で実行すると、すべてのテストが緑色で実行されますが、mavenパッケージコマンドを実行すると、すべてのテストがシリアルモードで実行されます。次に何が起こるかというと、次のようになります。

基本的に、テストは連続して実行されているため、すべてのテストがソケット 127.0.0.1:8081 を要求しようとします。また、ソケットが TIME_WAIT 状態であるため、2 番目のテストはそのソケットを要求できません。つまり、netstat -apn の出力

netstat -apn |grep -i 8080

  • これで、開発と運用という 2 つの異なるプロファイルが構成されました。つまり、以下を参照してください。

    @Configuration @Profile("Development") public class TomcatEmbededDevelopmentTesting1Profile extends SpringServletContainerInitializer { ... }

    @Configuration @Profile("Production") public class TomcatEmbededProductionProfile extends SpringServletContainerInitializer { .. }

私が今探しているのは、どの顧客の TomcatServletContainerInitializer を実行できるかを指定する機能です。つまり、5 つの異なるポート/ソケットをすべてリッスンする必要があります。問題は、すべて「@Profile("Development")」でマークされた 5 つの異なる TomcatEmbeded 構成クラスがある場合、必要なものを実行するように junit に指示する方法です。@SpringApplicationConfiguration の使用にうんざりしていますが、それはうまくいきません。

次に、そのポートをランダム化すると思われる魔法の注釈 @IntegrationTest("server.port:0") があることを説明するネット上の記事を見つけましたが、それもうまくいきませんでした。春に行う正しい方法は何ですか?どんなヒントでも大歓迎です。

ここに私のテストの例があります:

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

spring - mvc-test フレームワークで sping のデフォルト Bean を使用する

次のコントローラー定義があります。

authenticationオブジェクトは自動的に注入され、すべて問題ありません。しかし、Spring の mvc テストフレームワークを使用してテストしたい場合は、次のようになります。

テストは次のとおりです。

どうすれば解決できますか?