Ну, Robolectri c система теней работает как шарм.
Я добавил новый класс теней:
@Implements(PendingIntent.class)
public class ShadowPendingIntent extends org.robolectric.shadows.ShadowPendingIntent {
private int code;
public int getCode() {
return code;
}
@Override
@Implementation
protected void send(Context context, int code, Intent intent, PendingIntent.OnFinished onFinished, Handler handler, String requiredPermission, Bundle options) throws PendingIntent.CanceledException {
this.code = code;
super.send(context, this.code, intent, onFinished, handler, requiredPermission, options);
}
}
Затем использовал его в тесте с аннотацией:
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {ShadowPendingIntent.class})
public class TestXxx {
И, наконец, проверьте это в тесте:
ShadowPendingIntent spi = (ShadowPendingIntent) Shadows.shadowOf(pi);
assertEquals(TheService.SOME_REPLY, spi.getCode());
Вуаля.