目前使用dagger进行测试,我想要做的是实例化并注入不同的Bar实现.如何在提供的字段中注入字段?例如:
模块:
@Module(
injects = {
Main.class
},
complete = false,
library = true
)
public class ExampleTestModule {
@Provides
public Foo providesFoo() {
return new Foo();
}
@Provides
public Bar providesBar(BarImpl impl) {
// return new BarImpl(); // null
return impl;
}
}
Run Code Online (Sandbox Code Playgroud)
主要:
public class Main {
@Inject
Foo foo;
}
Run Code Online (Sandbox Code Playgroud)
富:
public class Foo {
@Inject
Bar bar;
}
Run Code Online (Sandbox Code Playgroud)
酒吧:
public interface Bar {
}
Run Code Online (Sandbox Code Playgroud)
BarImpl
public class BarImpl implements Bar {
}
Run Code Online (Sandbox Code Playgroud)
测试用例:
public class ApplicationTest …Run Code Online (Sandbox Code Playgroud)