【发布时间】:2023-04-06 22:56:02
【问题描述】:
我正在尝试在网络调用完成后使用 IdlingResources 来测试一些东西。我有一个 CountingIdlingResource 在我的 Main Activity 中跟踪正在运行的作业,但我的测试文件无法识别 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;
我的 gradle 依赖项中也包含了这个:
androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2'
compile 'com.android.support.test.espresso:espresso-idling-resource:2.2.2'
【问题讨论】:
-
MainActivity,实际上,是否有一个名为getIdlingResource()的方法返回一个空闲资源? -
不,我应该意识到 MainActivity 需要这样的方法。但是这将如何与 CountingIdlingResource 一起使用?
-
这完全取决于您的实现。但是,简而言之,您将在 MainActivity 中有一个计数空闲资源,您可以根据需要在 Activity 中递增和递减,然后通过您认为已经拥有的公共访问器提供它。
-
谢谢,我已经添加了访问器方法,现在可以使用了。