問題タブ [easymock]

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 に答える
309 参照

java - リクエスト中の簡単なモック動作

EasyMock を使用してオブジェクト全体の動作をモックすることは可能でしょうか?

これの目的は、たとえば JUnit テスト @BeforeClass でモックのインスタンスを作成し、それをいくつかの @Test メソッドで使用することです。

ご意見をお寄せいただきありがとうございます。

よろしく、P.

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

unit-testing - 新しいオブジェクトの作成をモックする

EasyMocks を使用しています。
メソッド内には、作成された新しいオブジェクトがあります。そして、そのオブジェクトに対して、マップを返すメソッドが呼び出されます。以下のように

その時にカスタムマップを返したい。どうすればいいのですか。
ありがとう。

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

java - EasyMock は、Expected Method に対して Null を返します

EasyMock が予想される (定義された) メソッド呼び出しに対して null を返すという問題があります。

モックされたオブジェクトの作成

単体テストでセットアップをモックします。

processData メソッドは単に呼び出します

これは、モックが構築されているインターフェイスです。

何が問題を引き起こしているのか、私はかなり混乱しています。「obj」は単体テストで定義したオブジェクトと同じであることを確認しました。私はまた、嘲笑した他の方法でこの問題を経験していません(私が認識しています)。

渡されたオブジェクトに問題がある可能性がありますか?

前もって感謝します。ここで他にどのような情報が役立つかはわかりません。

編集:これはテストクラスです(そして、私の誤解がどこから始まったのかが判明しました)

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

java - すべてのノードがモックの場合、EasyMock を使用して「呼び出しのツリー」をテストする方法は?

TopHandler、 、 の3 つのタイプがあるHandlerAとしHandlerBます。それぞれにvoid handle(Something)方法があります。

のインスタンスは と のインスタンスへのTopHandler参照を保持し、とを呼び出します。HandlerAHandlerBhandle()HandlerAHandlerB

私のテストでは、3 つのオブジェクトすべてをモックしてから、topHandler での呼び出しが他の 2 つのオブジェクトでの呼び出しを引き起こすことを確認します。

それを指定するにはどうすればよいですか?EasyMock を使用すると、モックの予想される動作を指定できることはわかっていますが、ここでどの機能を使用すればよいかは明確ではありませんでした。

0 投票する
5 に答える
7366 参照

java - テストでインスタンス化できないオブジェクトをモックするにはどうすればよいですか?

EasyMock を使用して、テストでオブジェクトをモックしています。しかし、コード内の別の場所で作成されたオブジェクトをモックするにはどうすればよいでしょうか? 次の疑似コードを見てください。WebService#getPersonById をモックしたいのですが、どうすればよいですか?

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

java - PowerMock を使用した静的メソッドと動的メソッドの両方のモック

私たちが持っているとしましょう

私がやりたいことは、単体テストでそれをモックすることです。クラスの静的メソッドと動的メソッドの両方をモックする必要がありますFoo。モッキングgetInstance()は簡単です

問題は、メソッドをモックbarする方法です。

replace(method(...)).with(method(...))動的メソッド用に設計されていないため、前のトリックは機能しません。

すでにモックされたクラスの上にモックしようとしても機能しません。

上記のコードは をスローしAssertionError: Unexpected method call barます。

では、どうすれば両方を行うことができますか?現実の世界では、静的メソッド内からは利用できないデータが必要なので、モッキングを.bar(...)入れたくありません。getMockInstancegetMockInstance

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

java - EasyMock モックを取得して空のリストを複数回返す方法

初めて返されたリストに要素が追加されている場合でも、EasyMock モックが空のリストを複数回期待できるようにしたいと考えています。

これは可能ですか?期待どおりに作成された空のリストは、リプレイ全体にわたって持続するため、呼び出し間で追加された要素が保持されます。

これは、私が回避しようとしていることを示すコード例です。

0 投票する
3 に答える
8131 参照

java - ネイティブ メソッドを呼び出すコードのテスト

私はこのようなクラスを持っています:

getBar()は JNI で実装され、クラスはfinalであることに注意してください。toString()メソッドをテストする JUnit テストを作成したいと考えています。このためには、getBar()メソッドをモックしてから、元のtoString()メソッドを実行して出力を確認する必要があります。

最初はこれは不可能だろうと思っていましたが、機能リストに従って最終クラスとネイティブ メソッドのテストをサポートするPowerMockを見つけました。しかし、これまでのところ、私はそれで成功していません。私が管理した最善のことは、完全なクラスをモックすることでしたが、テストでは、あまり意味のない実際のメソッドではなく、モックされたtoString()メソッドをテストしました。

では、PowerMock を使用して上記のtoString()メソッドをテストするにはどうすればよいでしょうか? 私は Mockito でPowerMockを使用することを好みますが、これが不可能な場合は、代わりにEasyMockを使用しても問題ありません。

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

java - Ivy を使用したクラスパスの問題

Ivy を使用して依存関係を管理していますが、easymock で問題が発生しています

私のivy.xmlファイルには次のものがあります:

次に、他のライブラリの依存関係に従います。他のライブラリが別のバージョンの easymock を使用している場合に、少なくとも私のライブラリが正しいバージョンを取得することを期待しています。

しかし、私が解決した後、Eclipseでは、easymockの2つのバージョン(1.2と2.5)があり、1.2が最初にリストされていることがわかります。

単体テストを実行すると、org.easymock.internal.IMocksBehavior を受け取る org.easymock.internal.RecordState のコンストラクターで java.lang.NoSuchMethodError が発生します。

これは、古いバージョンの EasyMock を使用していることを示唆しています。

どうすればこの問題を回避できますか?

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

java - EasyMock モック オブジェクトを取得して例外をスローする

EasyMock を使用して、多くの共同作業クラスの単体テストを作成中です。これらのクラスの 1 つ ( と呼びましょうFoo) は、リモート サーバーへのネットワーク接続を開き、そのサーバーの XML 応答を解析して、残りのクラスが使用できるものにします。

現在、私のテストでは、すべてがうまく機能せず、リモート サーバーが稼働しており、期待どおりに XML を返すシナリオのみが含まれています。ただし、リモート サーバーがダウンした場合や、によって がスローされる原因となるその他の問題が発生した場合に何が起こるかをシミュレートできるように、モックを作成できれば幸いですFooIOExceptionFoo

EasyMock API を見てみましたが、モックに例外をスローするように要求するメソッドのように見えるものは何も見当たりません。

ベースのテストは絶対に必要というわけではありませんが、EasyMock で可能かどうか興味があり、この方法で のパブリック コントラクトExceptionをテストすると便利だと思います。Foo

以前に EasyMock でこのようなことをした人はいますか?

参考文献