Gradle 1.11 androidTest类没有运行

时间:2014-03-28 09:49:48

标签: android android-gradle

所以我已经设置了一个带有android的gradle项目,并尝试运行一些测试。不幸的是,他们似乎并不乐观。我可能会错过一些明显的东西,但这里有......

我正在运行gradle 1.11并且我理解了应该用于测试的新文件夹(因为我相信?)的文档。

所以我有我的testclass ::

package se.coinhunter.multigradle.test;

import org.junit.Test;
import static org.junit.Assert.*;

public class HelloAndroidTests {

   @Test
   public void testHelper() {
         assertEquals(1,1);
      }
   }

}

它位于src/androidTest,这是我的build.gradle:

apply plugin: 'android'

android {
    compileSdkVersion 19
    buildToolsVersion "19.0.3"

    defaultConfig {
        minSdkVersion 11
        targetSdkVersion 19
        versionCode 1
        versionName "1.0"
    }

    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
}

dependencies {
    compile 'com.android.support:appcompat-v7:+'
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile project(':MultiGradleSubmodule')
}

这是一个多项目构建,依赖项块中提到的子模块是一个简单的java项目,其中包含'自己的scource和单元测试运行得非常顺利。我能够指明它应该告诉我何时运行它的'测试并给我一些反馈,并且工作正常。使用

实现了该项目
test {
    testLogging {
        events 'started', 'passed'
    }
}

在其中'的build.gradle。对于Android项目,我没有遇到过这样的事情。整个项目的构建和运行,但我要么无法运行测试,要么他们正在运行,但我没有得到任何输出。

1 个答案:

答案 0 :(得分:0)

您正在使用jUnit 4(包名称“org.junit”和@Test注释)。 Android gradle仅适用于jUnit 3(包名“junit.framework”,没有注释)。

Android测试在设备或模拟器上的Dalvik虚拟机中运行,因此您的测试类还应该扩展“AndroidTestCase”(或Android中的其他junit子类之一 - 取决于您正在测试的内容)。

更新:还要将以下内容添加到默认配置中:

testInstrumentationRunner "android.test.InstrumentationTestRunner"

testFunctionalTest true

使用

运行测试
gradle connectedCheck