問題タブ [spring-boot-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 に答える
285 参照

java - Spring Cloud Test を使用して Spring Cloud Streams をテストする

残りのエンドポイントである限り、スプリング ブート アプリケーションでいくつかのストリーム プロデューサー ( @Output) とコンシューマー ( ) を定義しました。@Input今、REST + ストリームの両方をテストしたい

まず、これが可能かどうかを知りたいです。REST の場合、TestRestTemplate を自動配線していますが、すべてうまくいきます。

しかし、私が使用しようとしているストリームの場合:

これにより、Rabbit が起動しているかどうかを認識できます。これは正常に機能していますが、

メッセージを送信すると、エラーは発生しませんが、メッセージはアプリによって消費されません。

プロデューサーとコンシューマーの両方が、分離されたコンテキストではなく、アプリの一部として開始されているように感じました。そのため、これは機能していません。

プロデューサーとコンシューマーは別々のアプリで正常に動作しているため、テスト構成に関連するものと思われます。

何か案は?@SpringBootTest参照が見つからなかったため、誰かが同じテストでRESTとストリームの両方をテストできましたか?

ここに再現子を追加しています: https://github.com/Salaboy/test-spring-cloud-streams/

いくつかのポインタ: https://github.com/Salaboy/test-spring-cloud-streams/blob/master/src/main/java/org/salaboy/streams/SampleApplication.java#L40

そしてテスト: https://github.com/Salaboy/test-spring-cloud-streams/blob/master/src/test/java/org/salaboy/streams/MyAppStreamsTest.java

これらのプロパティを使用するもの: https://github.com/Salaboy/test-spring-cloud-streams/blob/master/src/test/resources/test-application.properties

あなたが提供できるどんな助けにも感謝します。