小编maX*_*aXp的帖子

建立本地单元测试(未注册任何仪器!必须在注册仪器下运行)

看一下官方文档包括框架依赖项一节提供了有关如何设置本地单元测试以与环境android sdk一起使用的示例。但是,如果您如示例中所述进行所有操作,则测试不会开始。我收到一个错误

java.lang.IllegalStateException:未注册任何工具!必须在注册工具下运行。

所有尝试都是在一个新项目上进行的。Android Studio 3.3,gradle-4.10.1,build:gradle:3.3.0,Kotlin,并包含Androidx工件。

然后将以下行添加到具有指定配置的项目中:

build.gradle

android {
    // ...
    testOptions {
        unitTests.includeAndroidResources = true
    }
}

dependencies {
    // ...
    // Already exist
    testImplementation 'junit:junit:4.12'
    // Added this line
    testImplementation 'androidx.test:core:1.0.0'
}
Run Code Online (Sandbox Code Playgroud)

和测试主体本身:

package com.example.myapplication

import android.content.Context
import androidx.test.core.app.ApplicationProvider
import org.junit.Test

class ExampleUnitTest {

    val context = ApplicationProvider.getApplicationContext<Context>()

    @Test
    fun readStringFromContext_LocalizedString() {
        System.out.println(context.applicationInfo.packageName)
    }
}
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?


apply plugin: 'com.android.application'

apply plugin: 'kotlin-android'

apply plugin: 'kotlin-android-extensions'

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "com.example.myapplication" …
Run Code Online (Sandbox Code Playgroud)

documentation android unit-testing robolectric

7
推荐指数
1
解决办法
1622
查看次数