【发布时间】:2017-04-01 06:17:25
【问题描述】:
我在使用Espresso 进行测试时遇到了空闲资源的问题。
它不起作用。它只被调用了两次,仅此而已,即使返回 false。
public class MyIdlingResource implements IdlingResource {
private boolean mIdle;
private ResourceCallback mResourceCallback;
public MyIdlingResource () {
this.mIdle = false;
this.mResourceCallback = null;
}
@Override
public final String getName() {
return MyIdlingResource .class.getSimpleName();
}
@Override
public final boolean isIdleNow() {
ArrayList<View> views = doStuff();
mIdle = views != null && !views.isEmpty();
if (mIdle) {
if (mResourceCallback != null) {
mResourceCallback.onTransitionToIdle();
}
}
return false;
}
@Override
public void registerIdleTransitionCallback(ResourceCallback resourceCallback) {
mResourceCallback = resourceCallback;
}
}
所以在这种情况下,我一直返回false,但它也不起作用。
怎么了?
【问题讨论】:
-
您似乎在通常是只读的 getter isIdleNow 方法中处于变异状态。我建议您在显式增量/减量调用中管理空闲状态,例如来自 Google 的示例:android.googlesource.com/platform/frameworks/testing/+/…
标签: android android-studio testing android-espresso