我有一个提供Dagger模块的Modules类。在运行我的单元测试和androidTests时,我想覆盖这个类,类似于如何覆盖不同构建类型或风格的类。
这可能吗?目前,当我尝试在Duplicate class file found
sourceSet中创建一个与test
sourceSet中相应类具有相同限定名的类时,出现main
错误。
最终,我希望在单元测试期间提供一些不同的数据库。
答案 0 :(得分:1)
最简单的方法不是通过重写类(你已经注意到它们不起作用)。相反,您可以定义一个公共接口,然后有两个不同的实现。一个用于main
,另一个用于test
。
这样,测试可以提供Test<Something>
对象,而应用程序代码提供<Something>
,而您正在测试的类将不知道差异。