android - Espresso 测试机器人

标签 android android-espresso

我在 Android Studio 中运行测试,运行任务 - “测试”。我的测试失败了,我的 html 报告详细说明:

   junit.framework.AssertionFailedError: Class Test has no public constructor TestCase(String name) or TestCase()
        at junit.framework.Assert.fail(Assert.java:57)
        at junit.framework.TestCase.fail(TestCase.java:227)
        at junit.framework.TestSuite$1.runTest(TestSuite.java:100)
        at junit.framework.TestCase.runBare(TestCase.java:141)
        at junit.framework.TestResult$1.protect(TestResult.java:122)
        at junit.framework.TestResult.runProtected(TestResult.java:142)
        at junit.framework.TestResult.run(TestResult.java:125)
        at junit.framework.TestCase.run(TestCase.java:129)
        at junit.framework.TestSuite.runTest(TestSuite.java:255)
        at junit.framework.TestSuite.run(TestSuite.java:250)
        at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:84)

我的源文件:

    @LargeTest
public class Test extends ActivityInstrumentationTestCase2<MainActivity>{

    public Test(Class <MainActivity> activityClass) {
        super(activityClass);
    }

    @Override
    public void setUp() throws Exception {
        super.setUp();
        getActivity();
    }

    public void testCheck(){
        onView(withId(R.id.text))
                .check(matches(withText("Hello world!")));
    }
}

最佳答案

问题正是错误消息所说的那样:您没有提供无参数的构造函数。

将此构造函数添加到您的测试类:

public Test() {
    super(MainActivity.class);
}

关于android - Espresso 测试机器人,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24265264/

相关文章:

java - Android JUnit 运行 Espresso 和 Robolectric 测试套件

android - 测试在 Android 6.0 上通过但在 Android 8.0 上失败 - androidx.test.espresso.PerformException : Error performing 'single click

android - 用 Espresso 点击 EditText 的 drawable 右边

android - RecyclerView 中的单选

java - 我遇到 Android 微调器或阵列适配器错误,但我不确定

java - 从方法内的 lambda 返回值

android-espresso - 动态功能模块上的 UI Espresso 测试

android - 使用 GSON 将变化的字段名映射到 POJO

Android GoogleMap v2 自定义信息窗口大小

android - Espresso 测试 - Android