2 つのソース フォルダー src と test を含む Android プロジェクトがあります。テストでは、テスト クラスといくつかのモック クラスがあります。テストを作成したクラスで、Android 用の RoboGuice 依存性注入を使用しています。
テストは、エミュレーター上の Eclipse で完全に正常に実行されますが、maven クリーン インストールを使用すると失敗します。
No implementation for com.Store<com.MessageEvent> was bound.
インジェクターを使用すると、セットアップ時にテストが失敗します。
mm = Guice.createInjector(new TestModule()).getInstance(MM.class);
そして、ここに私のバインディングモジュールがあります:
public class TestModule implements Module{
@Override
public void configure(com.google.inject.Binder binder) {
binder.bind(Context.class).toInstance(getContext());
binder.bind(Scheduler.class).to(MockScheduler.class);
binder.bind(EventManager.class).to(MockEventManager.class);
binder.bind(new TypeLiteral<Store<Message>>(){}).to(new TypeLiteral<JsonStore<Message>>(){});
binder.bind(new TypeLiteral<Store<MessageEvent>>(){}).to(new TypeLiteral<JsonStore<MessageEvent>>(){});
}
@Provides
JsonStore<MessageEvent> provideMessageEventJsonStore(Context context){
return new JsonStore<MessageEvent>(context, "message_events_test.json", MessageEvent.class);
}
@Provides
JsonStore<Message> provideMessageJsonStore(Context context){
return new JsonStore<Message>(context, "message_manager_test.json", Message.class);
}
}
Eclipse ではなく Maven でテストを実行しているときに例外がスローされるのはなぜですか?