测试运行失败:无法找到以下内容的检测信息:ComponentInfo

时间:2017-06-19 04:47:26

标签: android android-studio

每当我尝试运行我的测试时,控制台都说:

Started running tests  
Test running failed: Unable to find instrumentation info for: ComponentInfo{com.rit.andrey.service.test/android.test.InstrumentationTestRunner}
Empty test suite.

My project structure looks like

Build.gradle文件

apply plugin: 'com.android.application'

android {
    signingConfigs {
        release {
            <config>
        }
        debug {
            <config>
        }
    }
    compileSdkVersion 25
    buildToolsVersion '25.0.1'
    defaultConfig {
        applicationId "com.rit.andrey.service"
        minSdkVersion 16
        versionCode 1
        versionName "1.3.0"
        multiDexEnabled true
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        debug {
        }
    }
    packagingOptions {
        /----/
    }
    dexOptions {
        preDexLibraries = false
        javaMaxHeapSize "5g"
    }
}

dependencies {
    /---/
    androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    }
    testCompile 'junit:junit:4.12'
}

测试类看起来像这样

@LargeTest
@RunWith(AndroidJUnit4.class)
public class LoginActivityTest {
    @Rule
    public ActivityTestRule<LoginActivity> mActivityTestRule = new ActivityTestRule<>(LoginActivity.class);

    @Test
    public void testLoginActivityTest() {
        onView(withId(R.id.synch_button)).check(matches(isDisplayed()));
}

所有构建变体都是&#34;调试&#34;

我尝试在此设备上测试另一个应用,一切正常

参赛者:

shell@P350:/ $ pm list instrumentation
        instrumentation:com.mu.rit.mmlib.test/android.test.InstrumentationTestRunner (target=com.mu.rit.mmlib.test)
        instrumentation:com.rit.andrey.service/android.test.InstrumentationTestRunner (target=com.rit.andrey.service)
        instrumentation:com.rit.andrey.service.test/android.support.test.runner.AndroidJUnitRunner (target=com.rit.andrey.service)
        instrumentation:com.rit.unittestingapp.test/android.support.test.runner.AndroidJUnitRunner (target=com.rit.unittestingapp)

P.S。 Android Studio 2.3.3

2 个答案:

答案 0 :(得分:1)

发生在我身上。在该设备上卸载应用程序,重新安装新版本然后运行测试似乎有所帮助。

答案 1 :(得分:0)

根据此处的文档(https://developer.android.com/training/testing/espresso/setup.html#set-instrumentation-runner),您缺少注释和跑步者。

// App's dependencies, including test
compile 'com.android.support:support-annotations:22.2.0'

// Testing-only dependencies
androidTestCompile 'com.android.support.test:runner:1.0.1'
androidTestCompile 'com.android.support.test.espresso:espresso-core:3.0.1'