Я пытаюсь создать некоторые тесты JUnit для моего приложения для Android.Mocking android method in Junit test
В приложении я следующий метод, который я пытаюсь получить испытанной:
public void checkBoxAction(View v) {
CheckBox cb = (CheckBox) v;
Boolean isChecked = cb.isChecked();
//Do stuff
}
Я использую Mockito и я получил это далеко:
// ...
CheckBox dummyV = new CheckBox(mMockContext);
Mockito.when(dummyV.isChecked()).thenReturn(true);
item.checkBoxAction(dummyV);
// ...
Но когда я бегу тест я получаю сообщение об ошибке:
java.lang.RuntimeException: Method isChecked in
android.widget.CompoundButton not mocked...
Я думаю, что проблема в том, что в методе checkBoxAction
, тем isChecked
метод не выполнен на v
, но на другом объекте. Правильно ли это предположение? Это проблема? И как я могу это исправить? Или что-то еще?
Try 'CheckBox dummyV = издеваться (CheckBox.class);' –
Да, это работает! Благодаря! – Jeni
ok, добавлено в качестве ответа. Если он работает, отметьте его как принятый –