我正面临着一个组件生成的问题,我想为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
发布于 2017-02-07 22:06:26
这是由an issue in kapt引起的。它的修复目标是1.0.7、1.1-Beta。
作为一种临时的解决办法(在修复发布之前),可以将MockAppComponent和相关源代码移入main源集。
https://stackoverflow.com/questions/42090197
复制相似问题