You should bind @RequestScoped and @SessionScoped to your own mock Scope implementation. Then Guice will use this instead of its default HTTP scopes. In this case you want to omit the ServletModule in your test. MockRequestScope myMockScope = new MockRequestScope(); bindScope(RequestScoped.class, myMockScope);
//after tests myMockScope.assertThatThingsWereScoped(); Btw, this is a very heavyweight way of testing, so I assume this is not something you need to do often. good luck! Dhanji. On Fri, Jun 12, 2009 at 9:18 AM, naaka <[email protected]> wrote: > > hi, > i tried out google guice and it looks great. > > i have tdd-ed a small spike with persistence and singleton/no scopes > and every worked fine. > > now i have added the servlet-guice extension, and changed a class to > session scope, but my test complaint: > > com.google.inject.ProvisionException: Guice provision errors: > > 1) Error in custom provider, com.google.inject.OutOfScopeException: > Cannot access scoped object. Either we are not currently inside an > HTTP Servlet request, or you may have forgotten to apply > com.google.inject.servlet.GuiceFilter as a servlet filter for this > request. > while locating com.naaka.spikes.domain.User > for field at com.naaka.spikes.domain.UserTest.defaultUser > (UserTest.java:24) > while locating com.naaka.spikes.domain.UserTest > > > i already added the servlet module in the setup method: > > @BeforeClass > public void setupInjection() { > ... > modules.add(declarePersistence); > modules.add(configPersistence); > modules.add(new ServletModule()); > injector = Guice.createInjector(modules); > ... > } > > how i can setup a test to work with session modules ? > > do i have to mock something (servlet request/response/filter) ? > > is there a base test class or a test i can copy from ? > > > > THANKS ! > > > > > --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
