0
Espresso
を使用してテストしている間、リソースのアイドリングに問題があります。IdlingResourcesが動作しませんエスプレッソAndroid
動作しません。たとえ返信がfalse
であっても、それは2回だけ呼び出されます。
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
のすべての時間を返しますが、それはどちらか動作しません。
どうしたのですか?
をあなたは一般的にisIdleNow方法読み取り専用のゲッターであるものの中で状態を変異しているようです。 Googleの次のような明示的な増分/減額コールでアイドリング状態を管理することをおすすめします。https://android.googlesource.com/platform/frameworks/testing/+/android-support-test/espresso/contrib/src/ main/java/android/support/test/espresso/contrib/CountingIdlingResource.java –