我需要启用或安装什么来获取注释@RunWith

时间:2015-09-09 00:32:34

标签: android unit-testing android-gradle build.gradle robolectric

我想使用Android Studio为Robolectric for Android Apps创建一个简单的测试。

好的,这是我在根目录下的build.gradle:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.3.0'
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

这是我的app build.gradle文件:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.1"

    sourceSets {
        androidTest.setRoot('src/test')
    }

    defaultConfig {
        applicationId "com.example.robe.helloworld"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {

    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:23.0.1'

    testCompile 'org.robolectric:robolectric:3.0'
    testCompile 'junit:junit:4.12'
}

但是当我尝试调用@RunWith注释时,IDE(AndroidStudio)找不到注释。那么我需要配置,启用或安装以获得此功能???

关于Gradle的信息

./gradlew -v

Gradle 2.4

Build time:   2015-05-05 08:09:24 UTC
Build number: none
Revision:     5c9c3bc20ca1c281ac7972643f1e2d190f2c943c

Groovy:       2.3.10
Ant:          Apache Ant(TM) version 1.9.4 compiled on April 29 2014
JVM:          1.8.0_60 (Oracle Corporation 25.60-b23)
OS:           Mac OS X 10.10.3 x86_64

更新

在我的测试类中,我试图以这种方式使用RunWith注释:

package com.example.robe.helloworld;

@RunWith()

public class WelcomeTest  {
}

但是使用Ctrl +空格,IDE不会向我显示注释。

2 个答案:

答案 0 :(得分:0)

它位于Android测试支持库中。将以下内容添加到依赖项中:

androidTestCompile 'com.android.support.test:runner:0.3'

答案 1 :(得分:0)

它已经存在:

testCompile 'junit:junit:4.12'

Android studio中唯一要做的就是从仪器测试切换到单元测试: enter image description here