У меня есть пользовательский вид, по которому мне нужно вызвать конкретный метод для открытия действия. Каков правильный способ сделать это в тесте эспрессо? Мне просто нужно раздуть этот вид, или мне нужно написать собственный ViewAction?Как вызвать метод на пользовательском представлении в эспрессо-тесте?
2
A
ответ
7
вы можете создать собственный ViewAction как этот
public class MyCustomViewAction implements ViewAction{
@Override
public Matcher<View> getConstraints(){
return isAssignableFrom(YourCustomView.class);
}
@Override
public String getDescription(){
return "whatever";
}
@Override
public void perform(UiController uiController, View view){
YourCustomView yourCustomView = (YourCustomView) view;
yourCustomView.yourCustomMethod();
// tadaaa
}
}
и использовать его, как обычно, как
onView(withId(whatever)).perform(new MyCustomViewAction());
+0
Как вернуть результат и передать его методам утверждения? – everlasto
я «не понимаю эту проблему, необходимо вызвать метод на обычае что внутри операции, или вам просто нужно начать свою деятельность с нуля? – lelloman
Мне нужно вызвать метод на пользовательском представлении –
Для уточнения, хотите ли вы выполнить единичный тест Activity или это для теста интеграции? – mawalker