問題タブ [mockrunner]
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.
queue - xml フィルターをテストするために mockrunner を使用してモック キューを設定するにはどうすればよいですか?
http://mockrunner.sourceforge.net/の mockrunner パッケージを使用して、次のように動作する XML フィルターをテストする JUnit 用のモック キューを設定しています。
- ftp サーバーが xml 入力を送受信するための認識可能なプロパティと、ジョブを追跡する jms キュー サーバーを設定します。キュー メッセージが受信されると、実際に xml を解析するサーバーがリモートで待機します。
- ftp を使用してリモート ディレクトリを作成し、mqconnectionfactory を使用してキュー サーバーの指定されたアドレスへのキュー接続を開始します。
- 2) で新しいキュー エントリが作成されると、フィルタは、ジョブがリモート サーバーによって完了したことを示す新しいキュー メッセージが表示されるのを待ちます。次に、フィルターは変更された xml ファイルを ftp から取得し、それを次のフィルターに渡します。
私が取り組んでいる JUnit テストでは、フィルターが接続するローカル ftp およびモック キュー サーバーを起動し、フィルターがキューに接続して新しい xml 入力ファイルをローカル ディレクトリに配置するのを待つことによって、この環境をエミュレートする必要があります。ローカル ftp サーバー経由で、キュー メッセージを待ってから、xml 入力をわずかに変更し、変更した xml を新しいディレクトリに置き、ジョブが完了したことを示す別のメッセージをキューに投稿します。
私がネットで見つけたすべてのチュートリアルでは、EJB と JNDI を使用して、作成されたキュー サーバーをルックアップしていました。可能であれば、EJB や JNDI を使用せずに、ローカル マシンにモック キューを作成し、できるだけ簡単な方法で接続することで、そのルートを回避したいと考えています。
前もって感謝します!
java - サーブレット単体テスト
現在、アプリケーションのビジネス ロジックをテストするために TestNG フレームワークを使用しています。最近、いくつかのサーブレット クラスを追加しました。
TestNg フレームワークでこれらのサーブレット クラスを単体テストするにはどうすればよいですか?
java - 通常の/手動でロールされた依存性注入よりもMockRunnerを使用するのはなぜですか?
私たちの共同体には、いくつかの要求XMLを受け取り、JDBCを介してさまざまなStored Procecdures(SP)にアクセスし、データを処理し、いくつかの応答XMLで応答するサービスレイヤーがあります。最近、人々はSPからの応答をモックするためにJUnitテストでMockRunnerを採用し始めています。MockRunnerを使用してSPからのモック応答をセットアップするコードはひどいように見えます(これは私が開いた最初のランダムテストクラスです):
上記のコードは多くの理由でひどいですが、ストアドプロシージャからの応答を設定することの複雑さとオーバーヘッドを明確に示しています。
これまで、ストアドプロシージャを実際に呼び出すクラスを注入する代わりに、手動でロールされた依存性注入を使用してきました。私がしなければならないのは、モックSP呼び出し元クラス(SPの実際の実行を担当)を作成し、必要な応答データを設定することだけです。私はこの手法に非常に満足しており、実装の詳細を気にすることなくデータに焦点を合わせているため、上記よりもはるかに単純です。しかし、私の質問は、いつMockRunnerを使用したいのかということです。単体テストにはやり過ぎのようですが、統合やシステムテストの方が多いと思いますか?それでも、DIフレームワークを使用してSP呼び出し元クラスをスワップアウトし、ストアドプロシージャ呼び出しごとに上記のすべてのコードをセットアップする方が簡単だと思います。啓発してください!ありがとう
java - JMS MockTopic メッセージがメッセージ リスナーによって取得されませんか?
JMSサブスクライバーのstart()関数がトピックのメッセージ リスナーを開始すること (およびstart()が呼び出される前にメッセージが消費されていないこと)を示す jUnit テストを作成しようとしています。
start()関数が呼び出される前にトピックに配置されたメッセージが、start() が呼び出されると処理されないという問題が発生しています。start()が呼び出された後にトピックに配置されたメッセージは、すぐに処理されます。
これはstart()の前にリスナーが実行されていないことを示していますが、メッセージ リスナーを開始すると、現在トピックにあるすべてのメッセージが処理されるはずです。
以下を追加して、永続性が原因ではないことを確認しようとしました:
しかし、これは役に立ちませんでした。
実際にプログラムを実行すると、トピックに現在存在するメッセージがstart()で処理されることが示されているようです。現在MockTopicにあるメッセージがstart()で処理されない理由を知っている人はいますか? それはMockTopicの制限ですか?
java - jdk1.6 へのアップグレード時に MockEJB が失敗する
現在、J2EE アプリケーションを jdk1.4 から jdk1.6 にアップグレードし、別のアプリケーション サーバーに移行しています。はい、たくさんの可動部分。ただし、Mockrunner と MockEjb を使用して、次のような呼び出しを行う多くの junit テストを作成しました。InitialContext コンテキスト = 新しい InitialContext(); 次に、クラスをコンテキストにバインドします。
ただし、新しい InitialContext() を作成しようとするすべてのテストは、このようなスタック トレースで失敗し、その理由がわかりません。どんな助けでも大歓迎です、ありがとう、
java - SQL ステートメントが実行されるたびにモック ResultSet 値を変更する
Mockrunner を使用して、select ステートメントのモック結果セットを作成しています。select ステートメント (単一の値を返す) を実行するループがあります。結果セットが毎回異なる値を返すようにしたいのですが、ステートメントが呼び出された回数に基づいて結果セットの戻り値を指定する方法について何も見つけることができませんでした。コードの擬似コード スニペットを次に示します。
テストコードでは:
実際のターゲット クラス:
したがって、基本的には、初回は 1、2 回目は 2、3 回目は何も返しません。これまでのところ、これを達成できるように活用できるものは何も見つかりませんでした。モックされた select ステートメントは、最後の結果セットが関連付けられていたものを常に返します (たとえば、2 つの MockResultSets を作成し、両方を同じ select stmt に関連付けた場合)。この考えは可能ですか?
java - mockrunner jdbc - 結果セットに列/行がない
初めてモックランナーでテストをセットアップしようとしています。接続は確立されていますが、空の結果セットしか取得できません。凝縮された作業例を次に示します。
期待される出力は、「1」と「foobar」を含む結果セット、および実行される SQL ステートメントです。
java - @JmsListener の JUnit テスト
@JMSListener を使用するメソッドをテストしようとしています。
モックランナーまたはあなたが知っている他のツールを使用してこれをテストする方法を知っていますか?
このサンプルを見たことがありますが、これが私のケースに当てはまるかどうかはわかりません。 https://dzone.com/articles/mockrunner-jms-spring-unit