[英]How To Include Transitive Dependencies
我有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文件。 但是無論我嘗試什么,我最終都會發現該包不存在錯誤。
在Android Studio中,您不再需要其他項目進行測試。 將您的測試代碼放在“ src / androidTest / java”下的同一模塊中
然后將以下內容添加到“ defaultConfig”中的“ build.gradle”
testPackageName "com.yourpackage.test"
testInstrumentationRunner "android.test.InstrumentationTestRunner"
testFunctionalTest true
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.