問題タブ [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.
java - JUnit と EasyMock を使用して MVC 統合テストでビューをモックする方法
のビュー実装をモックしたいと思いMVC design pattern
ます。MVP
(別のバリエーション)を実装しMVC
ました。モデルで状態の変更が発生したときに、ビュー内の特定のメソッドがコントローラーによって正しく呼び出されるかどうかをテストしたいと思います。model
、controller
およびでのメソッド呼び出しのシーケンスを次に示しますview
。
モデル:
コントローラ:
ビュー: この結果、ビューは次のように呼び出されます。
質問: (テストで使用EasyMock
してJUnit
) メソッドの予想される順序 (有効な引数を持つ) をどのように検証しますか? 私はview.modelPropertyChange(evt)
呼び出されることを期待し、オブジェクトview.isViewUpdated()
に戻ることを期待しています。JUnit テストでそれをどのように言えばよいでしょうか。助けてください!true
view
java - EasyMockでvoidメソッドが呼び出されなかったことをテストします
これは可能ですか?試してみましEasyMock.expectLastCall().times(0);
たが、EasyMockは時間が1以上でなければならないと文句を言います
java - EasyMock オブジェクトの記録をオフにする方法は?
および引数doPost()
に EasyMock オブジェクトを使用して、サーブレットのメソッドをテストしています。テストしているメソッド内で、リクエスト オブジェクトとレスポンス オブジェクトが別のクラスの静的メソッド クラスへの引数として使用されます。このメソッド呼び出し内のリクエスト オブジェクトとレスポンス オブジェクトで行われた呼び出しを無視します (つまり、期待どおりに記録しません)。 (とにかく、このテストには関係ありません)。たとえば、私がテストしているサーブレット クラスのメソッドは次のようになります。HttpServletRequest
HttpServletResponse
doPost()
doPost()
上記のコードがPortletContextFactory.createPortletContext()
が呼び出されるステップに到達すると、そのメソッド内のリクエスト オブジェクトとレスポンス オブジェクトに対してどのメソッド呼び出しが行われるかはあまり気にしませんが、このメソッドをテストするときにモック リクエスト オブジェクトとレスポンス オブジェクトを渡すと、エラーが発生します。 EasyMock は、ビヘイビア定義が欠落していることを教えてくれます。たとえば、次のようなテスト メソッドがあります。
テストクラスを実行すると、次のエラーが発生します。
上記のエラーはPortletContextFactory.createPortletContext()
、引数として渡されたモック リクエストおよびレスポンス オブジェクトのメソッド内で実行されたメソッド呼び出しが記録されていないことが原因であると想定しています。これが実際にここで起こっていることである場合、メソッドによるリクエストおよびレスポンスモックで行われたメソッド呼び出しPortletContextFactory.createPortletContext()
が無視されるように、どうすればやり直すことができますか?
unit-testing - EasyMock andReturn()とandStubReturn()
andReturn(T value)
EasyMockを使用する場合と使用する場合の違いは何andStubReturn(T value)
ですか?
同じ結果が得られないandStubReturn()
場合、どのような状況で使用しますか?andReturn()
java - EasyMock を使用してモック呼び出しの順序をテストする方法
EasyMockで行うのは簡単です。
しかし、これは呼び出しを実行する順序をテストしていないことに気付きました。これは、テストしようとしている場合には非常に重要です。とにかくEasyMockでこれを行うことはありますか?
unit-testing - メソッド内でのモック オブジェクトの作成
次の方法がある場合:
EasyMock を使用してモックでこれをテストしているとき、とにかく、次のように UserDao モックに渡す User パラメータをテストできますか?
上記のテストを実行しようとすると、予期しないメソッド呼び出しについて不平を言いますが、これは、メソッドで作成された実際のユーザーが、渡したものと同じではないためです...それについて正しいですか?
または、 UserDao に渡すパラメーターをテストできる最も厳密な方法は次のとおりです。
java - void を返すパラメーターを持つ EasyMock メソッド
私の単体テスト フレームワークは、EasyMock.createMock(Interace) を使用して、ビジネス サービス コンポーネントをモック オブジェクトに置き換えます。
これらのコンポーネントは、テスト対象のクラスのいくつかのレイヤーでアクセスされるため、インターフェイス定義もテスト対象のクラスも変更したくありません。
次に、EasyMock.expect(...) を使用して、連携するオブジェクトの動作を制御します。メソッドが void を返さない限り、これはうまく機能します。
無効な結果がある場合、どうすれば動作を駆動できますか。すなわち。
java - EasyMock.anyObject(List.class)呼び出しから警告を削除するにはどうすればよいですか?
コンパイラはこの呼び出しで文句を言うのをやめることはできません:
リストの種類を指定してみました
しかし、それはオプションではないようです(とにかく、Javaはコンパイル中に型を消去するので、それは愚かです)
この警告を削除するためのクリーンな方法(@SuppressWarningはクリーンな方法のIMOではありません)はありますか?
ありがとうございました
java - Mockito、EasyMockなどでモックするJUnit
テストしているクラス内のオブジェクトのメソッドをモックしようとしています。
例えば
変数「a」のメソッドをモックする方法はありますか?テスト中はdoSomethingElseに何もしないようにしたいと思います。私は現在Mockitoを使用していますが、あらゆるモックフレームワークを利用できます。
ありがとう
eclipse - EasyMock の期待呼び出しに Eclipse ブレークポイントを設定する最良の方法は何ですか?
私は次のようなコードを持っています
mockClockService.getNow() が呼び出されるたびに Eclipse がプログラムを一時停止するようにしたいと思います。ただし、ClockService はインターフェイスであるため、ClockService.getNow() にブレークポイントを設定できません。また、mockClockService は EasyMock プロキシであるため、expect 行にもブレークポイントを設定できません。