2017-03-02 28 views
0

私はアンドロイドライブラリプロジェクトを開発中です。私はJUnitのテストの中で依存性注入を働かせたい(apt注釈処理)。私が使用するDIフレームワークはDagger2です。 短剣のコンポーネント/モジュール/クラスはテスト専用すなわち@Componentインターフェースと@Moduleクラスは、すべての(NOTのsrc /メイン/ Javaで)のsrc /テスト/ javaので定義されていることがに必要なすべてのAndroidスタジオのandroid-libraryのtestApt

私の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.2.0' 

    testCompile 'junit:junit:4.12' 
    // ------- dagger 2 ----------------------------- 
    testCompile 'com.google.dagger:dagger:2.9' 
    testApt 'com.google.dagger:dagger-compiler:2.9' 
    testProvided 'org.glassfish:javax.annotation:10.0-b28' 
} 

buildscript { 
    repositories { 
     jcenter() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:2.2.3' 
     classpath 'com.neenbedankt.gradle.plugins:android-apt:1.4' 
    } 
} 

とcore.gradle

 
Error:(42, 0) Could not find method testApt() for arguments [com.google.dagger:dagger-compiler:2.9] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler. 

私は新しいDSL方式はtestAnnotationProcessorである知っているが、私はまだcom.neenbedankt.android-aptを使用して、まだジャックコンパイラに切り替えていません。

答えて

0

答えは本当に簡単であることが判明しました。私はちょうどtestApt

classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' 
をサポート 1.8から android-aptプラグインのバージョンをアップグレードするために必要な