2016-06-29 101 views
2

當我們用匕首和科特林,我們需要在我們的build.gradle依賴未解決參考:DaggerTestComponent(科特林用匕首測試)

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/

聲明如下當我嘗試使用匕首進行測試,併產生DaggerTestComponent.builder()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,在科特林語言,但有下面的錯誤

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

回答

11

找到了Kotlin Slack Channel的答案。感謝Kirill Rakhman。

這是(用於儀器設備測試)

kaptAndroidTest 'com.google.dagger:dagger-compiler:2.0.2' 

或(爲單元測試)

kaptTest 'com.google.dagger:dagger-compiler:2.0.2' 
+0

請標出你的答案所接受,能否解決你的問題 – soon

+0

您能夠生成用您當前的配置簽名APK? – voghDev

+0

是的,不是問題。它與使用的圖書館或語言無關。 – Elye