目录

Android8引入测试库

目录

http://image.catbro.cn/b3add008abbf.png

  • 更多分享:www.catbro.cn 起因:今天在写测试用例发现找不到ActivityInstrumentationTestCase2类。

  • 原因:在 Android 8.1 (API 等级 27) 或更低版本系统中,Android 平台提供一系列类,如 ActivityInstrumentationTestCase2,供开发者在应用内创建测试。进行编译时,开发者可以在构建android.jar 文件时可以获取这些类。内置测试架构尽管十分简便,但它要求开发者针对 android.jar 提供的 JUnit 版本进行测试,因此会对依赖其它版本 JUnit 进行的构建和测试造成一定困难。

  • 为了让开发者能够灵活地构建以及测试定制化或三方逻辑,Android P 从平台中移除了测试类。不过,将测试库仍然作为可选依赖项提供。

     android {
        compileSdkVersion 28
        defaultConfig {
            applicationId "com.ocrapp"
            minSdkVersion 16
            targetSdkVersion 28
            versionCode 1
            versionName "1.0"
            //设定gradle默认测试环境
            testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    
        }
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            }
        }
        useLibrary 'android.test.runner'
        useLibrary 'android.test.base'
        useLibrary 'android.test.mock'
    }