不能进行espresso测试

时间:2016-11-17 05:43:26

标签: android android-studio android-espresso android-junit

我使用Espresso运行android UI测试,在包含所有必需的依赖项并创建所需的类测试后,在运行时给出错误:

$( "div" ).addClass( "myClass" );

并且肯定它是一个内置的类,所以我不能改变它,即使我试图创建一个自定义的,但这导致我的其他问题,除非删除在我的自定义类中添加了额外的构造函数,这导致我最终遇到同样的问题。

我的考试类:

java.lang.Exception: Custom runner class AndroidJUnit4 should have a public constructor with signature AndroidJUnit4(Class testClass)

依赖关系:

@RunWith(AndroidJUnit4.class)
public class CreateTest {

    @Rule
    public ActivityTestRule mainActivityTest = new ActivityTestRule<>(MainActivity.class);

    @Before
    public void setUp() throws Exception {
        Context context = InstrumentationRegistry.getContext();
    }

    @Test
    public void clickAdd(){
        Espresso.onView(withId(R.id.button))
                .perform(click());
        intended(hasComponent(new ComponentName(getTargetContext(), SecondActivity.class)));
    }

}

p.s 我已经准备好使用另一个测试API,如果有可用的,但我搜索了一下,什么也没找到。

2 个答案:

答案 0 :(得分:0)

您是否在AndroidManifest.xml文件中声明了工具?

<instrumentation
    android:name="android.support.test.runner.AndroidJUnitRunner"
    android:targetPackage="com.your.packageundertest" />

答案 1 :(得分:0)

您是否已按照设置说明here中的说明将instrumentation runner添加到build.gradle文件中?