問題タブ [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.
spring - Spring MVC テスト (セキュリティ統合テスト)、JSESSIONID は存在しません
スプリング ブート アプリ用のカスタム ログイン フォームを作成しました。私のフォーム統合テストでは、受信した Cookie にJSESSIONIDとXSRF-TOKENが含まれていることを確認したいと考えています。
しかし、受け取ったのはXSRF-TOKENだけでした。
これが私のテストです:
セキュリティ設定:
必要な結果を得るのを手伝ってください。
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() を認識していません
以下のすべての私のコード:
誰かがそのような質問に遭遇した場合、これがあなたの助けになることを願っています.
java - spring test mvc にリクエストパーツを設定する
を使用するコントローラーを (Spring テスト (mvc) を通じて) テストしようとしています。servletRequest.getParts()
私がこれまで読んだのは、それMockMvcRequestBuilders.fileUpload().file()
が解決策であるということだけです。しかし、私はそれを機能させることはできません。私は失敗する次のテストを書きました
私は春のコードを調べました.別のリストから要素を取得するときにfile(...)
要素を追加する呼び出しList<MockMultipartFile>
getParts()
(Map<String, Part> parts)
他にやり方があるはず…
編集 1
コントローラーをテストするために使用しているコードは次のとおりです。
spring - 子テーブルの JPA 外部キーが null です
以下のクラスがあり、JPAを使用して1対多の関係を取得しようとしています。xml メッセージが restcontroller に送信されると、メッセージは親テーブルと子テーブルの両方に格納されますが、外部キーは常に null です。何か問題があればお知らせください。
データを永続化するために使用しているレスト サービスと、以下は、このレスト メソッドに投稿しているサンプル xml です。
子クラス
そして私の親クラス
そして私のxml
以下は、チームでエントリを作成した後に表に表示されている結果です。player テーブルの team_id フィールドは null であることに注意してください。これは私の問題です。このフィールドが team_id 値を取得するように修正する方法を知る必要があります。
spring - @Autowired 依存関係の @Mock がランダムな junit テストの失敗を引き起こす
私の spring-mvc アプリは動作します。わーい!証拠:
これは私の良いセットアップです:
私の重要な部分Buggy-servlet.xml
bug-core.xml
インポートするファイルの重要な部分:
VersionInfo
クラス:
そして最後に、VersionInfoController
クラス:
大丈夫だよー!
今問題:
単体テストしたい。よくやったと思います。私VersionInfoControllerTest
のクラス:
WebAppContext
クラス:
TestContext
クラス:
mvn clean install
junit を実行します ( Eclipse の junit 起動構成を介して、またはその中で)。大丈夫だよー。
に示されている 2 行のコメントを外すとVersionInfoControllerTest
、テストが失敗するか成功する可能性があります (多くの場合、失敗します)。失敗すると、次の 2 つの方法のいずれかで失敗します。
方法 1:
方法 2 はもっと悪いです:
StackOverflowErrorなので、メモリがなくなるまで繰り返す。
問題を示すgithubプロジェクトを立ち上げました
何か案は?私は何を間違えましたか?私が言うことができる限り、SOとブログ、フォーラム、春のドキュメントで他の受け入れられた答えを正確に行いました。
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") があることを説明するネット上の記事を見つけましたが、それもうまくいきませんでした。春に行う正しい方法は何ですか?どんなヒントでも大歓迎です。
ここに私のテストの例があります:
spring - mvc-test フレームワークで sping のデフォルト Bean を使用する
次のコントローラー定義があります。
authentication
オブジェクトは自動的に注入され、すべて問題ありません。しかし、Spring の mvc テストフレームワークを使用してテストしたい場合は、次のようになります。
テストは次のとおりです。
どうすれば解決できますか?