2014-06-06 129 views
2

我有2個gradle項目:一個Android應用程序和一個RoboSpock測試。如何包含傳遞依賴項

我對Android應用的build.gradle有

. . . 

dependencies { 
    compile fileTree(dir: 'libs', include: '*.jar') 
    compile ('com.actionbarsherlock:actionbarsherlock:[email protected]') { 
     exclude module: 'support-v4' 
    } 
} 

. . . 

,並通過自身建立正確,e.g 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' 

爲表明,我已經嘗試添加傳遞=真,並明確包括.jar文件。但不管我嘗試什麼,我最終都會遇到包不存在的錯誤。

回答

0

在Android Studio中,您不再需要用於測試的不同項目。把你的測試代碼在同一個模塊中的「SRC/androidTest/JAVA」下

然後添加以下「的build.gradle」中的「defaultConfig」

testPackageName "com.yourpackage.test" 
testInstrumentationRunner "android.test.InstrumentationTestRunner" 
testFunctionalTest true 
+0

不會對模擬器運行的測試,而不是JVM的? –

相關問題