我有2个gradle项目:一个Android应用程序和一个RoboSpock测试。
我的Android应用的build.gradle有
. . .
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
compile ('com.actionbarsherlock:actionbarsherlock:4.4.0@aar') {
exclude module: 'support-v4'
}
}
. . .
并自行构建,例如assembleRelease有效。
我不能让测试工作。我收到很多错误,例如:
package com.google.zxing does not exist
这些似乎表明.jar文件没有被选中。
这是我的测试项目的build.gradle:
buildscript {
repositories {
mavenLocal()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.9.+'
classpath 'org.robospock:robospock-plugin:0.4.0'
}
}
repositories {
mavenLocal()
mavenCentral()
}
apply plugin: 'groovy'
dependencies {
compile "org.codehaus.groovy:groovy-all:1.8.6"
compile 'org.robospock:robospock:0.4.4'
}
dependencies {
compile fileTree(dir: ':android:libs', include: '*.jar')
compile (project(':estanteApp')) {
transitive = true
}
}
sourceSets.test.java.srcDirs = ['../android/src/', '../android/build/source/r/debug']
test {
testLogging {
lifecycle {
exceptionFormat "full"
}
}
}
project.ext {
robospock = ":estanteApp" // project to test
}
apply plugin: 'robospock'
如图所示,我尝试添加transitive = true并明确包含.jar文件。但无论我尝试什么,我最终都会遇到包不存在的错误。
答案 0 :(得分:0)
在Android Studio中,您不再需要其他项目进行测试。将测试代码放在“src / androidTest / java”
下的同一模块中然后将以下内容添加到“defaultConfig”
中的“build.gradle”testPackageName "com.yourpackage.test"
testInstrumentationRunner "android.test.InstrumentationTestRunner"
testFunctionalTest true