android单元测试除了清单文件还有什么限制吗?

pdog
  • 573
@RunWith(AndroidJUnit4.class)
public class ExampleInstrumentedTest {

    @Test
    public void testSOmething() throws Exception {
        assertEquals("a", "a");
    }

    @Test
    public void testSOmething1() throws Exception {
        assertEquals("a", "a");
    }

}

运行testSOmething1方法就绿条

只要运行testSOmething方法就报错

Testing started at 0:37 ...

11/22 00:37:56: Launching testSOmething()
No apk changes detected since last installation, skipping installation of D:\workpace\Locked\app\build\outputs\apk\app-debug.apk
$ adb shell am force-stop com.aa.safe.locked
No apk changes detected since last installation, skipping installation of D:\workpace\Locked\app\build\outputs\apk\app-debug-androidTest.apk
$ adb shell am force-stop com.aa.safe.locked.test
Running tests

$ adb shell am instrument -w -r   -e debug false -e class com.aa.safe.locked.ExampleInstrumentedTest#testSOmething com.aa.safe.locked.test/android.test.InstrumentationTestRunner
Client not ready yet..
Started running tests
Test running failed: Unable to find instrumentation info for: ComponentInfo{com.aa.safe.locked.test/android.test.InstrumentationTestRunner}
Empty test suite.

Unable to find instrumentation info for: ComponentInfo

sof上查看有人把多建了一级包能解决这个报错?
这是什么原理啊

apply plugin: 'com.android.application'

android {
    compileSdkVersion 24
    buildToolsVersion "24.0.2"
    defaultConfig {
        applicationId "com.aa.safe.locked"
        minSdkVersion 10
        targetSdkVersion 24
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:24.2.1'
    testCompile 'junit:junit:4.12'
}
回复
阅读 2.6k
1 个回答

这个没关系啊. 如果你要在AS上面进行单元测试, 我建议你用 Robolectric测试框架. 比较方便. JUnit我之前使用,只要一遇到SDK里面的代码就会报错.也比较麻烦!

你知道吗?

宣传栏