問題タブ [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 - easymock Capture でテストする方法
次のコードがあります
registerNewRecord メソッドは RecordDao の insert メソッドを呼び出し、updateRecord は同じ DAO の update メソッドを呼び出します。
次のeasymockコードがあります:
問題は、上記で挿入された Record の同じインスタンスが更新されているため、insertRc Capture オブジェクトも更新されていることです。したがって、挿入時に終了フラグが false に設定されているとは断言できません。
私は何を間違っていますか?
java - EasyMock:私が間違っていることは何ですか?
したがって、アプリケーションのサービスレイヤーをテストする必要があります(いくつかのメソッドをテストする必要があります-これはテストセクションとの最初の接触です)
インターフェイスからのメソッド:
リストgetAllOrderedDescByRating();
私は受け取ります:
java.lang.AssertionError:
予期しないメソッド呼び出しmakePersistent(faq.FAQ@3461d1):getAllOrderedDescByRating():期待される:1、実際:0 makePersistent():期待される:1、実際:1(+1)
私が間違っているのは何ですか?
easymock - EasyMock: モックのメソッドが呼び出されていないことをテストする
タイトルのとおり、メソッドが存続期間中に呼び出されなかったかどうかをテストするための easymock のメカニズムがあるかどうか疑問に思っています。
java - EasyMock の検証を遅らせる
EasyMock を使用して、Java で JUnit テスト用のモック オブジェクトを作成しています。モック オブジェクトを作成し、メソッドが呼び出されることを期待する別のスレッドに渡します。他のスレッドでは、呼び出しはブロックに囲まれているtry/catch(Throwable)
ため、モックで予期しない呼び出しが発生して がスローさAssertionError
れた場合、そのエラーは catch ブロックによってキャッチされ、処理されます。したがって、予期しない呼び出しが発生しても、テストはパスします。
EasyMock.verify(mock)
テストが期待どおりに失敗するようにするために、最後にテストランナースレッドで行われた呼び出しへの呼び出しのすべての検証を遅らせたいと思います。これは可能ですか?
junit - JUnit Easymock 予期しないメソッド呼び出し
EasyMock を使用して JUnit でテストをセットアップしようとしていますが、頭を包むことができない小さな問題に直面しています。ここの誰かが助けてくれることを願っていました。
これは、私がテストしようとしている方法の簡略化されたバージョンです。
わかりましたので、EasyMock を使用してservice.getObj(myObj)
呼び出しをモックしましたが、正常に動作します。
私の問題は、JUnit がdao.insert(otherObj
) 呼び出しにヒットしたときに発生します。EasyMock はそれにスロー*Unexpected Method Call*
します。
テストでそのdaoをモックして使用expectLastCall().once();
してもかまいませんが、挿入時にパラメーターとして渡される「otherObj」のハンドルがあることを前提としています...条件付きであるため、もちろんそうではありませんテストされるメソッドのコンテキスト内で作成されます。
誰かがそれに対処しなければならなかったことがあり、どういうわけかそれを解決しましたか?
ありがとう。
java - EasyMock:コンパイル時にわからない引数を提供する
EasyMockの最新バージョンを使用して、スタブアウトする必要のあるメソッドがあります。このメソッドはオブジェクトパラメータを受け取り、voidを返します。
スタブメソッドは、私がテストしているメソッドによって呼び出されています。そこに驚きはありません。私の難しさは、モックされたメソッドの引数として提供されるオブジェクトが、テストしているメソッドによって作成されていることです。
私はこれを使用して回避できることを知ってcreateNiceMock()
いますが、このメソッドを明示的にスタブアウトする方法はありますか?
サンプルコード:
java - 日付予想を使用したEasymock
本体に日付が含まれるeasymockを使用して、次のようなメソッドをモックしています。
そして私のテストは次のようになります:
しかし、テストを実行すると、次のようなエラーが発生することがあります。
予期しないメソッド呼び出しtestedMethod(Thu Jan 28 09:45:13 GMT-03:00 2010):testedMethod(Thu Jan 28 09:45:13 GMT-03:00 2010):期待:1、実際:0
日付が若干違うことがあるからだと思います。私はいくつかの柔軟な期待を試みましたが成功しませんでした。これを回避する方法はありますか?
java - 模擬Runtime.getRuntime()?
EasyMockを使用してへの呼び出しを期待する最善の方法について誰かが提案できますRuntime.getRuntime().exec(xxx)
か?
インターフェイスを実装する別のクラスのメソッドに呼び出しを移動することはできますが、理想的な世界ではそうではありません。
誰か他に何か提案があったかしら?
easymock - スイートのテスト中、EasyMock は 0 のマッチャーが期待され、1 が記録されたと言います
それで、私は EasyMock のクラス拡張機能をしばらく使用しています。突然、この例外が発生しますが、テスト スイート全体を実行した場合のみです。
関連するコードは、この小さな美しさです (少しトリミングされています)。
最初の期待で例外がスローされています。そして、それは本当に意味がありません。マッチャーを取得していると書かれていますが、メソッドは引数さえ取りません。そして奇妙なことに、それはテスト スイートの間だけです! @Before で新しいモックを作成しているので、他の場所から何かを継承するべきではありません (他のメソッドにマッチャーがあるわけではありません)。
それで、何かアイデアはありますか?
java - EasyMock クラス拡張モックはメソッドをモックしていません
私はこれを私のコードに持っています:
...
メソッド incrPlayInPlay が呼び出されることを確認したいからです。ただし、mockMember.incrPlayInPlay は実際には具象クラスでメソッドを呼び出しており、モックの期待値を設定していません。私は何を間違っていますか?