搜尋

首頁  >  問答  >  主體

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

@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'
}
天蓬老师天蓬老师2773 天前563

全部回覆(1)我來回復

  • 天蓬老师

    天蓬老师2017-04-17 17:59:16

    這個沒關係啊. 如果你要在AS上面進行單元測試, 我建議你用 Robolectric測試框架. 比較方便. JUnit我之前使用,只要一遇到SDK裡面的代碼就會報錯.也比較麻煩!

    回覆
    0
  • 取消回覆