を注入することが傾けるときの動作をテストし、私はそれが両方の停止およびキャンセル呼び出すことを滅ぼすの動作をテストしたいMockito:モックオブジェクトは
@Startup
@Singleton
public class PRCConnectionRunner {
@Inject
private ServiceStatus status;
private Timer connectorTimer = null;
public void destroy() {
connectorTimer.cancel();
status.stopped();
}
}
として定義されたメソッドを持っています。私はそれがPRCConnectionRunnerクラス内に構成されているように、私はconnectorTimerを注入カントしかし
@Mock
ServiceStatus status;
@InjectMocks
PRCConnectionRunner prcConnection;
@Test
public void destroyShouldCallStatusStop() {
prcConnection.destroy();
Mockito.verify(status).stopped();
}
以下のように状態のモックオブジェクトを注入することによって停止させ、容易にテストすることができ、どのように呼び出しをキャンセル破壊することをテストすることができる()connectorTimerオン?
でいくつかのより多くのMockito/PowerMockの例を見つけることができます
、これはMockito(またはEasyMock)では不可能で、各モックオブジェクトで作成したので、テストは何らかの形でテスト中のオブジェクトに*渡されなければなりません。内部で作成または取得されたオブジェクトをモックするには、Mockitoに加えてPowerMockを使用するか、JMockitライブラリを使用する必要があります。 –
私はそれを間違ってテストしていますか?または私のデザインが間違っていますか? – Saad
'Timer'フィールドを設定するためにプレーンな古いリフレクションを使うのはどうでしょうか?それは基本的に '@ Inject'の仕組みの基礎です。 – SpaceTrucker