我运行下面的代码并返回任何错误();
error: incompatible types
required: Matcher
found: Matcher
/**
* Perform action of waiting until UI thread is free.
* @return
*/
public static ViewAction waitUntilIdle(){
return new ViewAction(){
@Override public Matcher getConstraints(){
return anything();
}
@Override public String getDescription(){
return "wait until UI thread is free";
}
@Override public void perform( final UiController uiController, final View view){
uiController.loopMainThreadUntilIdle();
}
}
;
}
有任何想法吗?
解决方法:
anything()不是通用方法,因此您将始终获得Matcher< Object>.
内部的任何东西()都使用IsAnything类.您可以创建自己的anyView()方法以返回Matcher< View>.
public static ViewAction waitUntilIdle(){
return new ViewAction(){
@Override public Matcher getConstraints(){
return anyView();
}
@NonNull
private Matcher anyView() {
return new IsAnything<>();
}
@Override public String getDescription(){
return "wait until UI thread is free";
}
@Override public void perform( final UiController uiController, final View view){
uiController.loopMainThreadUntilIdle();
}
}
;
}
标签:android,testing,android-espresso,android-testing
来源: https://codeday.me/bug/20190724/1526626.html