簡體   English   中英

如何包括傳遞依存關系

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM