Я в процессе переноса своих тестовых случаев на новейшие Robolectric 3.0. Чтобы протестировать сервис viberator в моем приложении, ранее я использовалRobolectric 3.0 тестирование Обслуживание вибратора
org.robolectric.shadows.ShadowVibrator
, но теперь я не в состоянии проверить это, даже используя пользовательскую тень класса.
Даже Robolectric wesite не обновляется и показывает использование Robolectric.shadowOf_(), которого не существует.
This - ссылка на сайт, который не обновляется. Незлое руководство.
Ниже приводится код для пользовательской реализации: -
Пользовательский класс: -
@Implements(Vibrator.class)
public class ShadowVibrator {
private boolean vibrating;
private boolean cancelled;
private long milliseconds;
private long[] pattern;
private int repeat;
@Implementation
public void vibrate(long milliseconds) {
vibrating = true;
this.milliseconds = milliseconds;
}
@Implementation
public void vibrate(long[] pattern, int repeat) {
vibrating = true;
this.pattern = pattern;
this.repeat = repeat;
}
@Implementation
public void cancel() {
cancelled = true;
vibrating = false;
}
public boolean isVibrating() {
return vibrating;
}
public boolean isCancelled() {
return cancelled;
}
public long getMilliseconds() {
return milliseconds;
}
public long[] getPattern() {
return pattern;
}
public int getRepeat() {
return repeat;
}
}
И я хочу использовать в своем коде что-то вроде этого, может кто-то момент мне правильный API: -
ShadowVibrator shadowVibrator = Shadows.shadowOf((Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE));
Спасибо @Steve, я получаю ошибку lint как: - Suspicios бросил RoboViberator для Viberator_service, могу ли я это сделать? –
Да, вы можете игнорировать его. –
Спасибо Стиву –