When creating an injector, why you need to use an overridden module? Since this is a unit test, you can create an injector out of the modules defining mock bindings.
Kartik You are only using On Wed, Mar 31, 2010 at 4:35 PM, Fred Faber <[email protected]> wrote: > Are you really expecting an injection of List<InputSourceStringImpl> or > are you expecting an injection of List<InputSourceString>? > > On Wed, Mar 31, 2010 at 3:55 PM, cdawg92 <[email protected]> wrote: > >> I hope someone can help as I'm starting to pull my hair out. I'm using >> a Guice module in the class I'm testing to return back some instances >> of lists. Guice injects the types in the list. Anyway, here is a >> snippet of the code in the class I'm testing: >> >> Injector srcInjector = Guice.createInjector(new >> SourcesModule(serverProps)); >> inputSources = srcInjector.getInstance(Key.get(new >> TypeLiteral >> <List<InputSourceStringImpl>>(){})); >> outputSources = srcInjector.getInstance(Key.get(new >> TypeLiteral >> <List<OutputSourceStringImpl>>(){})); >> >> I need to be able to override the SourcesModule to inject some mock >> sources for proper testing. I've tried the following in my tests but >> the override is not working as the sources are still injected by >> SourcesModule: >> >> Injector injector = Guice.createInjector( new AbstractModule(){ >> @Override >> protected void configure() >> { >> bind(new >> TypeLiteral<List<String>>() {}).toInstance(servers); >> >> bind(ListenerDAO.class).to(MockDAO.class); >> bind(new >> TypeLiteral<List<ServerProperties>>() >> {}).toInstance(listDefaultServerProperties); >> >> } >> >> } >> ,Modules.override(new >> SourcesModule(Arrays.asList(defaultServerProperties))).with( >> new AbstractModule(){ >> @Override >> protected void >> configure() { >> } >> >> @SuppressWarnings("unused") >> @Provides >> private >> List<InputSourceStringImpl> provideInputSources(){ >> return >> injectedInputs; >> } >> >> })); >> ListenerController controller = >> injector.getInstance(ListenerController.class); >> >> injectedInputs is a List of my mock sources. >> >> Am I just going about the override incorrectly or is my implementation >> of Guice with the SourcesModule incompatible with testing? Any help >> would be appreciated. >> >> Thanks, >> Carl. >> >> -- >> You received this message because you are subscribed to the Google Groups >> "google-guice" group. >> To post to this group, send email to [email protected]. >> To unsubscribe from this group, send email to >> [email protected]<google-guice%[email protected]> >> . >> For more options, visit this group at >> http://groups.google.com/group/google-guice?hl=en. >> >> > -- > You received this message because you are subscribed to the Google Groups > "google-guice" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]<google-guice%[email protected]> > . > For more options, visit this group at > http://groups.google.com/group/google-guice?hl=en. > -- You received this message because you are subscribed to the Google Groups "google-guice" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/google-guice?hl=en.
