JMSを使用してJUnitテストを実行したいとします。 JUnitテストでJBossやCDIコンテナのようなアプリケーションサーバーの外部でJMSを使用することは可能ですか?JUnitテストでJMSを使用する方法はありますか?
答えて
メッセージの送信と消費がJMSから完全に切り離されている場合は、それをモックできます。
たとえば、「IMyClassSender」のようなインターフェイスを実装するクラスを作成できます。実際のコード(非junit)では、このクラスすべてがJMSにメッセージを送信します。 junitでは、入力を受け取るクラスでIMyClassSenderを実装し、JMSに送信する場合はそれをコンシューマクラスに渡します。
また、あなたがアクティブMQを使用している場合: - Arquillian(http://arquillian.org)お好みののJavaEE環境内ユニットと統合テストを実行することができます - http://activemq.apache.org/how-to-unit-test-jms-code.html
それは可能な解決策のように聞こえる! Mocking JMS! activemqに関する質問、私はJUnitでそれを使用するためにプロジェクトにactivemqライブラリを含める必要がありますか? – user840930
また、ActiveMQでは、ActiveMQサーバーを実行する必要はありませんか? – user840930
本当に、あなたは 'EmbeddedActiveMQBroker'を使うことができるので、詳細は答えにあるリンクを見てください。 –
はまた、アプリケーション、このためのサーバーを使用して再考することができ、管理しますアプリサーバーのライフサイクルはそれ自身で
はい、答えは貴重ですが、Arquillianはニュアンスがあります。その設定は非常に複雑で、その性質は各テストのために "マイクロデプロイメント"を作成することに重点を置いています。テストの実行はかなり長くなります。 –
プラス、質問が明確に "JUnitテストはアプリケーションサーバー外でJMSを使用します" – chrisl08
テストが完了した後、リソースを解放しないというArquillianの既知の問題もあります。この問題は、JenkinsなどのContinuous Deployment環境でテストを実行する予定がある場合には非常に重要です。 – user840930
- 1. テスト環境でjunit/TestNGテストケースを実行する方法はありますか?
- 2. jvmエージェントを使用せずにSpring AspectJ LTWでJUnit 4テストを実行する方法はありますか?
- 3. JUnitテストは重複する必要がありますか?
- 4. Spring MVCテストでAssertJアサーションを使用する方法はありますか?
- 5. junitを使ってファイル入力をテスト/模擬する方法はありますか?
- 6. JUnitテストでJavassistを使用する
- 7. Junitを使用してオブジェクトを出力するテスト方法
- 8. 純粋なJUnitテストにVisibleForTestingを使用する方法
- 9. AntとJUnitでクラスから特定のテストのみを実行する方法はありますか?
- 10. jUnitを使用してScalaの残りのエンドポイントをテストする方法
- 11. パイプラインテストツールを使用してEDIDisassemblerコンポーネントをテストする方法はありますか?
- 12. スタンドアロンのJavaアプリケーションでJMS接続をプールする方法はありますか。
- 13. Angular2でEventEmitterをテストする方法はありますか?
- 14. レスポンシブCSSをSeleniumでテストする方法はありますか?
- 15. Clojureでマクロをテストする方法はありますか?
- 16. JUnitテスト:スレッドからの結果をテストする方法
- 17. JBoss 5 JMS Jarsを使用する必要があります
- 18. JUnit assertThatの使い方は正しくありますか?
- 19. JenkinsのJUnitテスト結果に「ビルド数」を定義する方法はありますか?
- 20. JUnitテストに説明を追加する機会はありますか?
- 21. HTML5でフレームを使用する方法はありますか?
- 22. クロムエクステンションでC++を使用する方法はありますか?
- 23. FlexでOpenLayersを使用する方法はありますか?
- 24. tvOSでバックエンドレスを使用する方法はありますか?
- 25. jscriptでGetProfilesDirectoryを使用する方法はありますか?
- 26. mod_wsgiをlocalhostで使用する方法はありますか?
- 27. DataprocでBigQueryを使用する方法はありますか?
- 28. ServerSocketChannelでSSLContextを使用する方法はありますか?
- 29. モノガームでクリップボードを使用する方法はありますか?
- 30. WikitudeをNativescriptで使用する方法はありますか
なぜダウン票ですか?これは妥当な質問です。 – chrisl08
@ chrisl08答えが良いです。あるいは、**埋め込みブローカ**を使用して、嘲笑を避けることができます。こうすることで、スタブやモックなしでコンポーネント/クラス間の統合をテストできます。それは実生活に近いものです。 –