Android Dagger不为TestModule生成适配器

Android Dagger不为TestModule生成适配器,android,robolectric,dagger,annotation-processing,Android,Robolectric,Dagger,Annotation Processing,如何制作apt流程测试源文件? 当我进行以下设置时,会出现异常: java.lang.IllegalStateException:未能加载类info.korzeniowski.walletplus.test.Module.TestDatabaseModule的模块适配器。请确保已为此模块运行代码生成。 和类TestDatabaseModule$$ModuleAdapter未生成,而DatabaseModule$$ModuleAdapter已正确生成 我做错了什么 build.gradle: ./

如何制作apt流程测试源文件? 当我进行以下设置时,会出现异常: java.lang.IllegalStateException:未能加载类info.korzeniowski.walletplus.test.Module.TestDatabaseModule的模块适配器。请确保已为此模块运行代码生成。 和类TestDatabaseModule$$ModuleAdapter未生成,而DatabaseModule$$ModuleAdapter已正确生成

我做错了什么

build.gradle: ./src/main/java/info/korzeniowski/walletplus/module/DatabaseModule.java ./src/androidTest/java/info/korzeniowski/walletplus/test/module/TestDatabaseModule.java RobolectrictTest.java apt配置仅适用于主要来源。您还必须声明为测试源运行的注释处理器,因为它是对javac的单独调用

可以使用类似的语法执行此操作:

androidTestApt "com.squareup.dagger:dagger-compiler:$daggerVersion"
apt配置仅适用于主要来源。您还必须声明为测试源运行的注释处理器,因为它是对javac的单独调用

可以使用类似的语法执行此操作:

androidTestApt "com.squareup.dagger:dagger-compiler:$daggerVersion"

就这样!谢谢你,杰克。android apt 1.4版本也提供了androidTestApt配置。就是这样!谢谢你,杰克。自android apt 1.4版本以来,androidTestApt配置也可用。
package info.korzeniowski.walletplus.test.module;

@Module(
    ...
    includes = DatabaseModule.class,
    overrides = true
)
public class TestDatabaseModule {

    @Provides
    @Singleton
    public DatabaseHelper provideTestDatabaseHelper() {
        return new DatabaseHelper(Robolectric.application, null);
    }
}
@Before
public void setUp() {
    List<Object> modules = new ArrayList<Object>();
    modules.add(new DatabaseModule((WalletPlus) Robolectric.application));
    modules.add(new TestDatabaseModule());
    ObjectGraph.create(modules.toArray()).inject(this);
}
androidTestApt "com.squareup.dagger:dagger-compiler:$daggerVersion"