如何在espresso测试中调用自定义视图上的方法?

Vad*_*ovs 4 android android-layout android-testing android-espresso

我有一个自定义视图,我需要调用一个特定的方法来打开一个活动.在浓缩咖啡测试中,这样做的正确方法是什么?我只需要膨胀这个视图或者我需要编写一个自定义的ViewAction?

lel*_*man 11

您可以像这样创建自定义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
    }

}
Run Code Online (Sandbox Code Playgroud)

像往常一样使用它

onView(withId(whatever)).perform(new MyCustomViewAction());
Run Code Online (Sandbox Code Playgroud)