当我们使用Dagger和Kotlin时,我们在build.gradle依赖项中需要以下内容
kapt 'com.google.dagger:dagger-compiler:2.0'
compile 'com.google.dagger:dagger:2.0'
provided 'org.glassfish:javax.annotation:10.0-b28'
如http://www.beyondtechnicallycorrect.com/2015/12/30/android-kotlin-dagger/
中所述当我尝试使用Dagger执行测试,并按照https://labs.ribot.co.uk/fast-and-reliable-ui-tests-on-android-17c261b8220c#.o3efc5knx甚至https://medium.com/@fabioCollini/android-testing-using-dagger-2-mockito-and-a-custom-junit-rule-c8487ed01b56#.hxtytfns3生成DaggerTestComponent.builder()
时,使用Kotlin语言,但出现以下错误
Error:(14, 25) Unresolved reference: DaggerTestComponent
我发现https://stackoverflow.com/a/36231516/3286489解释了如何生成DaggerTestComponent,并尝试将以下内容放在我的依赖项中。
androidTestApt 'com.google.dagger:dagger-compiler:2.0.1'
显然,我认为这是针对Java而不是Kotlin,因此问题仍然存在。它有Kotlin版本吗?如何在我的Kotlin项目中生成DaggerTestComponent
?
答案 0 :(得分:11)
从Kotlin Slack Channel找到答案。感谢Kirill Rakhman。
(用于仪器测试)
kaptAndroidTest 'com.google.dagger:dagger-compiler:2.0.2'
或(用于单元测试)
kaptTest 'com.google.dagger:dagger-compiler:2.0.2'