gpt4 book ai didi

android - Dagger2 可以用于单元测试和插桩测试吗?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:10:00 25 4
gpt4 key购买 nike

https://developer.android.com/studio/test/index.html您是否可以将 Dagger2 用于本地单元测试(位于 module-name/src/test/java/.),Instrumented tests(位于 module-name/src/androidTest/java/.) 或两者?

有这方面的例子吗?

最佳答案

是的。 Dagger2 适用于单元测试和仪器测试。示例如下:https://github.com/googlesamples/android-architecture/tree/todo-mvp-dagger

这里是一个模拟变体中使用的模块示例,可用于单元/用户界面测试:

@Module
abstract public class TasksRepositoryModule {

private static final int THREAD_COUNT = 3;

@Singleton
@Binds
@Local
abstract TasksDataSource provideTasksLocalDataSource(TasksLocalDataSource dataSource);

@Singleton
@Binds
@Remote
abstract TasksDataSource provideTasksRemoteDataSource(FakeTasksRemoteDataSource dataSource);

@Singleton
@Provides
static ToDoDatabase provideDb(Application context) {
return Room.databaseBuilder(context.getApplicationContext(), ToDoDatabase.class, "Tasks.db")
.build();
}

@Singleton
@Provides
static TasksDao provideTasksDao(ToDoDatabase db) {
return db.taskDao();
}

@Singleton
@Provides
static AppExecutors provideAppExecutors() {
return new AppExecutors(new DiskIOThreadExecutor(),
Executors.newFixedThreadPool(THREAD_COUNT),
new AppExecutors.MainThreadExecutor());
}
}

https://github.com/googlesamples/android-architecture/blob/todo-mvp-dagger/todoapp/app/src/mock/java/com/example/android/architecture/blueprints/todoapp/data/source/TasksRepositoryModule.java#L24

关于android - Dagger2 可以用于单元测试和插桩测试吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48273544/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com