2015-09-21 6 views
0

Я в процессе переноса своих тестовых случаев на новейшие 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)); 

ответ

2

Посмотрите RoboVibrator

RoboVibrator vibrator = (RoboVibrator) RuntimeEnvironment.application.getSystemService(Context.VIBRATOR_SERVICE); 
+0

Спасибо @Steve, я получаю ошибку lint как: - Suspicios бросил RoboViberator для Viberator_service, могу ли я это сделать? –

+0

Да, вы можете игнорировать его. –

+0

Спасибо Стиву –

Смежные вопросы