我面临着组件匕首生成的问题,我想为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
答案 0 :(得分:1)
这是由an issue in kapt引起的。针对它的修复程序定位1.0.7
,1.1-Beta
。
作为临时解决方法(在修复发布之前),可以将MockAppComponent
及相关来源移至main
来源集。