我正在尝试使用RoboGuice 2.0为Android服务编写JUnit测试.我有一个测试模块,它将注入的依赖项绑定到Mockito模拟对象.但是,当我运行测试时,我的app模块的实际实现会被注入.以下是一些相关代码:
MainApplication.java:
public class MainApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
RoboGuice.setBaseApplicationInjector(this, RoboGuice.DEFAULT_STAGE,
RoboGuice.newDefaultRoboModule(this), new MainModule());
startService(new Intent(this, NotificationService.class));
}
}
Run Code Online (Sandbox Code Playgroud)
MainModule.java:
public class MainModule extends AbstractModule {
@Override
protected void configure() {
bind(IFooManager.class).to(FooManagerImpl.class).in(Scopes.SINGLETON);
}
}
Run Code Online (Sandbox Code Playgroud)
NotificationService.java:
public class NotificationService extends RoboService {
@Inject
private NotificationManager notificationManager;
@Inject
private SharedPreferences prefs;
@Inject
private IFooManager fooManager;
private IFooListener listener = new FooListener();
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onCreate() {
super.onCreate(); …Run Code Online (Sandbox Code Playgroud)