Dagger不为androidTest生成组件

时间:2017-02-07 12:42:17

标签: android kotlin dagger-2

我面临着组件匕首生成的问题,我想为androidTest生成组件,但是当我构建项目时,DaggerTestComponent没有生成。

组件:

package com.test.feliperibeirosaruhashi.testingkotlindagger

import dagger.Component

@Component(modules = arrayOf(MockTestModule::class))
interface MockAppComponent {
  fun inject(mainActivityTest:MainActivityTest)
}

的build.gradle:

dependencies {
  compile fileTree(dir: 'libs', include: ['*.jar'])
  androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
    exclude group: 'com.android.support', module: 'support-annotations'
  })
  compile 'com.android.support:appcompat-v7:25.1.0'
  testCompile 'junit:junit:4.12'

  compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
  compile "com.android.support:appcompat-v7:$SUPPORT_LIBRARY_VERSION"
  compile "com.android.support:design:$SUPPORT_LIBRARY_VERSION"

  compile "com.google.dagger:dagger:$DAGGER_VERSION"
  kapt "com.google.dagger:dagger-compiler:$DAGGER_VERSION"
  provided 'org.glassfish:javax.annotation:10.0-b28'


  kaptTest "com.google.dagger:dagger-compiler:$DAGGER_VERSION"

  kaptAndroidTest "com.google.dagger:dagger-compiler:$DAGGER_VERSION"


  androidTestCompile "com.google.dagger:dagger:$DAGGER_VERSION"

  androidTestCompile "com.android.support.test:runner:$RUNNER_VERSION"
  androidTestCompile "com.android.support.test:rules:$RUNNER_VERSION"
  androidTestCompile "org.mockito:mockito-core:$MOCKITO_VERSION"

  androidTestCompile "com.android.support.test.espresso:espresso-core:$ESPRESSO_VERSION"
  androidTestCompile "com.android.support.test.espresso:espresso-intents:$ESPRESSO_VERSION"


  androidTestCompile "com.crittercism.dexmaker:dexmaker:$DEXMAKER_VERSION"
  androidTestCompile "com.crittercism.dexmaker:dexmaker-dx:$DEXMAKER_VERSION"
  androidTestCompile "com.crittercism.dexmaker:dexmaker-mockito:$DEXMAKER_VERSION"
}

我把完整的项目放在github上: https://github.com/felipesaruhashi/TestingKotlinDagger

1 个答案:

答案 0 :(得分:1)

这是由an issue in kapt引起的。针对它的修复程序定位1.0.71.1-Beta

作为临时解决方法(在修复发布之前),可以将MockAppComponent及相关来源移至main来源集。