私はクラスをテストしていて、特定のメソッドへの呼び出しを監視したい、つまり後で解析するために呼び出しパラメータを保存したいと考えました。EasyMock.captureで入力パラメータを取り込む方法は?
EasyMockでテストが行われるため、EasyMock.capture機能を使用することが理にかなっています。しかし、私は見つけることができた例が私のために動作しません - 私はキャプチャとラインで以下のコンパイルエラーを取得:
EasyMockで期待(T)は(無効) 理由に適用することはできません。変数Tのインスタンスが存在しないので、voidがTに従うようになります。
誰かが私の間違いを指摘できれば素晴らしいと思います。以下はコードスニペットです:
import static org.easymock.EasyMock.capture;
import org.easymock.Capture;
import org.easymock.CaptureType;
import org.easymock.EasyMock;
import org.junit.Before;
class B {
}
class A {
public void doSomething(B input) {
}
}
public class ATest {
private Capture<B> capturedData;
private A testObject;
@Before
private void setUp() {
capturedData = EasyMock.newCapture(CaptureType.ALL);
testObject = EasyMock.createNiceMock(A.class);
EasyMock
.expect(testObject.doSomething(capture(capturedData)))
.anyTimes();
}
}
ありがとうございます!