Android检测测试未发现任何测试

Ser*_*scu 10 android unit-testing android-instrumentation

我是Android仪表单元测试的新手.我有一个看起来像这样的简单测试.这是仪器化测试; 在我真正编写一个实际的仪器测试之前,我只想测试一个简单的测试:

@RunWith(AndroidJUnit4.class)
@SmallTest
public class AddressBookKeepingInstrumentedTest {


    public static final String TEST_STRING = "This is a string";
    public static final long TEST_LONG = 12345678L;

    @Test
    public void test_simple() {
        assertEquals(2,1+1);
    }
}
Run Code Online (Sandbox Code Playgroud)

当我运行它时,我收到以下错误:

junit.framework.AssertionFailedError: No tests found in com.example.myfirstapp.AddressBookKeepingInstrumentedTest
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:191)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:176)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:554)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1729)

Tests ran to completion.
Run Code Online (Sandbox Code Playgroud)

Gradle构建在此之前成功通过.任何想法为什么会这样?

Lon*_*ger 17

请将以下内容添加到build.gradle中,并将测试类放入androidTest文件夹中

android {
    defaultConfig {
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
}
Run Code Online (Sandbox Code Playgroud)


whl*_*hla 11

我最近尝试了接受的答案,但是在尝试运行时它给了我一个进程崩溃错误。如果你得到这个,你应该使用:

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
Run Code Online (Sandbox Code Playgroud)

来源:由于“进程崩溃”,仪器运行失败。