Lui*_*uis 8 junit android gradle
我想在我的Android应用程序项目中运行简单,简单的JUnit测试,同时使用Gradle编写Activity测试.花了很长时间配置Gradle并使其工作,但是,无论如何,现在我仍然试图让JUnit测试只是编译.
我检查了这个链接,但是当我运行gradle时出现以下错误:
DummyTest.java:3: error: package junit.
framework does not exist
import junit.framework.Assert;
^
\DummyTest.java:8: error: cannot find symbol
Assert.assertEquals(5,3);
^
symbol: variable Assert
location: class DummyTest
Run Code Online (Sandbox Code Playgroud)
所以,没有找到junit ......
以下是我的完整gradle.build文件:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.6.+'
}
}
apply plugin: 'android'
repositories {
mavenCentral()
}
dependencies {
compile files('libs/joda-time-2.3.jar')
compile files('libs/android-support-v4.jar')
unitTestCompile files("$project.buildDir/classes/release")
unitTestCompile 'junit:junit:4.8.2'
}
android {
compileSdkVersion 17
buildToolsVersion '17.0.0'
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
}
unitTest {
java.srcDir file('test')
resources.srcDir file('test/res')
}
}
defaultConfig {
minSdkVersion 14
versionName '1.0'
versionCode 1
targetSdkVersion 17
}
}
// add the unitTest task
task unitTest(type:Test, dependsOn: assemble) {
description = "run unit tests"
testClassesDir = project.sourceSets.unitTest.output.classesDir
classpath = project.sourceSets.unitTest.runtimeClasspath
}
build.dependsOn unitTest
Run Code Online (Sandbox Code Playgroud)
unb*_*ant 10
AndroidStudio和新的Android Gradle插件现在提供官方单元测试支持.
Android Studio 1.1+和Android Gradle插件版本1.1.0+支持此功能
现在可以将依赖关系声明为testCompile:
dependencies {
testCompile 'junit:junit:4.12'
testCompile "org.mockito:mockito-core:1.9.5"
}
Run Code Online (Sandbox Code Playgroud)
更多细节:单元测试支持 - Android工具项目站点.
看看这个 stackoverlfow 线程:junit testing with gradle for an android project
\n\n看来他正在做你所需要的事情。
\n\n我认为你的脚本中的问题是,你没有声明
\n\n明确地进行单元测试源集。
\n\n干杯,\nRen\xc3\xa9
\n