問題タブ [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 - java.lang.IllegalStateException:先行するメソッド呼び出しの動作定義がありませんgetMessage( "title")
UnitTestの作成にEasyMock(バージョン2.4)とTestNGを使用しています。
次のシナリオがあり、クラス階層の定義方法を変更できません。
ClassAを拡張しているClassBをテストしています。
ClassBは次のようになります
ClassAコード
ClientMessagesクラスコード
MessageResourseクラスコード
ClassBのテスト
このテストを実行すると、次の例外が発生します。
java.lang.IllegalStateException:先行するメソッド呼び出しの動作定義がありませんgetMessage( "title")
私が見つけたものをデバッグしている間、コンストラクターから呼び出されたため、モックメソッド呼び出し mockMessageResourse.getMessage( "ClassB.title")は考慮されません(ClassBオブジェクトの作成)。
この場合のテスト方法を教えてください。
ありがとう。
java - EasyMock-equals()およびその他のオブジェクトメソッドの動作を変更します
EasyMockのドキュメントは非常に明確です
3つのオブジェクトメソッドequals()、hashCode()、およびtoString()の動作は、モックオブジェクトが作成されたインターフェイスの一部であっても、EasyMockで作成されたモックオブジェクトでは変更できません。
私がテストしようとしているコードは、equals()を使用して、モックオブジェクトを他のものと比較しています。のようなことをしたい
これを行うと、IllegalStateExceptionが発生します。ドキュメントに書かれていることを考えれば、そこには驚きはありません。
誰かが別のアプローチについて何か提案がありますか?equals()が呼び出されたときにモックオブジェクトが返すものを制御する別の方法はありますか?equals()をオーバーライドするサブクラスを作成できると思います
しかし、これはエレガントではないようです。重要なものが欠けているように感じます(EasyMockでこれらのオブジェクトメソッドをオーバーライドできない理由など)。より良い解決策はありますか?
spring - scope="request" Bean を含む単体テスト用の EasyMock オブジェクト
いくつかの会社のコードに単体テストを追加しようとしています。はい、すでにあるはずですが、すべての人が私と同じように単体テストについて考えているわけではないようです。
しかし、私は少しストッパーにぶつかりました。確かに、私の Java、Spring、および単体テストの知識は、十分ではありません。私の問題はこれです:
クラスをテストする単体テストをコードに追加しました。このクラスには、scope="request" を持つ Bean が含まれており、Bean をインスタンス化しようとすると、例外がスローされます。
java.lang.IllegalStateException: No Scope registered for scope 'request'
これは、HttpServletRequest オブジェクトを持っていないためだと思いますが、これらのモックを作成する方法がわかりません。また、作成後にこのモック オブジェクトを単体テストに追加する方法もわかりません。それがこの問題を解決すること。
以下は関連するコードの縮小版で、この問題の一部であるすべての詳細が含まれていると思います。
どうすればこれを機能させることができますか?
testing - EasyMock - モックをリセットして期待を維持する方法は?
モックオブジェクトの同じインスタンスで特定の期待を再定義することは可能ですか?
OK を検証するこのテストがあるとします。
私が次にやりたいことは、モックをリセットし、定義された期待値をすべて維持しながら、そのうちの 1 つを変更することです。
リセット呼び出し後に foo.size が定義されていないため、現時点では機能しません。
毎回期待を再構築するのではなく、これを行うための良い方法である必要がありますか?
前もって感謝します
java - EasyMockよりもMockitoの方が好ましいですか?
最近、私は Mockito フレームワークに切り替えましたが、とても満足しています (ブログ投稿も参照してください)。EasyMock から Mockito への切り替えは非常に簡単で、テストをダウンコンパチブルにすることができました (つまり、テスト ケースは同じように動作します)。
MockitoよりもEasyMockを好む本当の理由や銃撃戦の基準がわかりますか? これまでのところ、私が使用したコードベースについてはできませんが、あなたの視点に興味があります.
unit-testing - モック オブジェクトを使用して保守可能な単体テストを作成する
これは、単体テストを書いているクラスの簡易版です
このクラスの単体テストを作成する際に、各メソッドで使用される EasyMock を使用してオブジェクトをモックアウトしました。メソッド B、C、D でモック オブジェクトとその期待値を設定するのは簡単でした。しかし、メソッド A をテストするには、さらに多くのモック オブジェクトとその期待値を設定する必要があります。また、メソッド A をさまざまな条件でテストしています。つまり、モック オブジェクトをさまざまな期待値で何度もセットアップする必要があります。
最終的に、私の単体テストは保守が難しくなり、かなり雑然とします。誰かがこの問題に対する良い解決策を持っているか見たかどうか疑問に思っていました.
java - easymock を使用してクラスの静的メソッドをモックするにはどうすればよいですか?
次のようなクラスがあるとします。
簡単なモックを使用して静的メソッド呼び出しをモックするにはどうすればよいですか? StaticDude.getGroove()
.
easy mock 3.0を使っています
java - このジェネリック警告を取り除く方法は?
汎用インターフェースをモックしようとしていますが、モックするたびに次の警告が表示されます。
GenericInterface型の式は、GenericInterface <String>に準拠するために、チェックされていない変換が必要です。
私のインターフェースは
私のテストは
テストケースの最初の行で警告が表示されます。
この一般的な警告を削除するにはどうすればよいですか?
java - EasyMockの問題、インスタンスでメソッドを呼び出していますが、このインスタンスを取得する方法には関心がありません
Easymockを使用してアルゴリズムをテストしようとしていますが、このアルゴリズムの実装の詳細に遭遇しています。私に道を提供できる人はいますか?私に問題を与える部分はこれです:
テスト中のアルゴリズムのどこかでこれが発生します。
私のテストでは興味深い部分しか宣言されていないため、これにより予期しないメソッド呼び出しgetB()が発生します。
注文が確認されているからだと思います。しかし、次の行を配置しても何も変わりません。
インスタンスaもEasyMockプロキシです。
私を助けることができる人はいますか?
java - ワイルドカードジェネリックを返すメソッドの呼び出しを EasyMock する方法は?
Spring 3.0 への切り替えを検討しており、Spring 3.0、EasyMock、および Java Generics が交差する問題に直面しています。
ある場所では、Spring 3.0 の AbstractBeanFactory 、具体的には次のメソッドをモックしています。
Spring の以前のバージョンでは、これは非ジェネリックを返し、すべて問題ありませんでした。ただし、ジェネリックでは、これで問題が発生します。
getType
を返すためClass<?>
、パラメーターとしてandReturn
必要Class<?>
であり、単に正しく機能しません。
これに対する既知の回避策はありますか?