测试错误Maven RoboGuice [没有实现“类”绑定]

时间:2012-06-12 20:31:05

标签: android maven roboguice

我有一个Android项目,其中包含两个源文件夹src和test。在测试中,我有我的测试类和一些模拟类。我在某些类中使用RoboGuice依赖注入为我编写的测试。

测试在Eclipse上在模拟器上运行完全正常但是使用maven clean install失败了。

No implementation for com.Store<com.MessageEvent> was bound.

使用进样器时,测试在setUp失败。

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); 
    }
}

为什么在Maven中运行测试时会抛出异常,而不是在Eclipse中运行?

1 个答案:

答案 0 :(得分:0)

“没有绑定任何实现”意味着您需要在模块文件中为此particuar类添加一行。