Ada*_*arn 6 android android-espresso
网络尝试完成后,我正在尝试使用IdlingResources测试某些内容。我CountingIdlingResource在主活动中一直跟踪正在运行的作业,但是我的测试文件无法识别getIdlingResource:
这是我的导入语句:
package com.example.android.bakingapp;
import android.support.test.espresso.Espresso;
import android.support.test.espresso.contrib.RecyclerViewActions;
import android.support.test.rule.ActivityTestRule;
import android.support.test.runner.AndroidJUnit4;
import com.example.android.bakingapp.activities.MainActivity;
import com.example.android.bakingapp.activities.RecipeActivity;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import static android.support.test.espresso.action.ViewActions.click;
import static android.support.test.espresso.intent.Intents.intended;
import static android.support.test.espresso.intent.matcher.IntentMatchers.hasComponent;
import static android.support.test.espresso.matcher.ViewMatchers.withId;
Run Code Online (Sandbox Code Playgroud)
我也将其包含在我的gradle依赖项中:
androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2'
compile 'com.android.support.test.espresso:espresso-idling-resource:2.2.2'
Run Code Online (Sandbox Code Playgroud)
您是否将此依赖项添加到gradle中?
androidTestCompile'com.android.support.test.espresso:espresso-core:2.2.2'
编译'com.android.support.test.espresso:espresso-idling-resource:2.2.2'
小智 5
首先,您必须在 MainActivity 中创建getIdlingResource()方法:
@Nullable
private SimpleIdlingResource mIdlingResource;
@VisibleForTesting
@NonNull
public IdlingResource getIdlingResource() {
if (mIdlingResource == null) {
mIdlingResource = new SimpleIdlingResource();
}
return mIdlingResource;
}
Run Code Online (Sandbox Code Playgroud)
然后创建一个空闲资源类:
public class SimpleIdlingResource implements IdlingResource {
@Nullable private volatile ResourceCallback mCallback;
private AtomicBoolean mIsIdleNow = new AtomicBoolean(true);
@Override
public String getName() {
return this.getClass().getName();
}
@Override
public boolean isIdleNow() {
return mIsIdleNow.get();
}
@Override
public void registerIdleTransitionCallback(ResourceCallback callback) {
mCallback = callback;
}
public void setIdleState(boolean isIdleNow) {
mIsIdleNow.set(isIdleNow);
if (isIdleNow && mCallback != null) {
mCallback.onTransitionToIdle();
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1717 次 |
| 最近记录: |