モックされたオブジェクトのパラメーターが正しくマップされているかどうかを確認したいと思います (メソッド呼び出しの前にマッピングがあります)。2 つのオブジェクトを作成しましたが、そのうちの 1 つは期待値を持っています。false が失敗することを期待していますが、パラメーターに期待値が含まれているかどうかを easymock が検証していません。どうすれば修正できますか?
実際のクラスは次のことを行います。
public SomeObject methodname() {
MyClass parameter = mapper.map(source,Dest.class);
serviceBeingMocked.doSomething(parameter); //<-- want to verify this parameter
}
テスト
MyClass correct = ...;
correct.setA=a;
correct.setB=b;
expect(serviceBeingMocked(correct)).andReturn(iDontCare); //this should work
MyClass false = ...;
false.setA=eeeeeeeeeee;
false.setB=ffffffffff;
expect(serviceBeingMocked(false)).andReturn(iDontCare); // this test should fail
前もって感謝します!
編集:答えを見つけました(キャプチャを使用してパラメーターを記録し、アサートを介して値をテストします)
キャプチャ パラメータ = new Capitre(); 期待する(serviceBeingMocked(EasyMock.capture(パラメータ)));
assertEquals(parameter.getValue().getWhatever().equals(correct.getWhatever());