That's what I'm already doing. This time I wanted to test that the perthread
scope of my service worked like it should, that's why I need to do an
integration test with a real live registry.

On Tue, Feb 23, 2010 at 12:42 PM, Paul Field <paul.fi...@db.com> wrote:

> Hi Inge,
>
> Testify doesn't support overriding services actually within the repository
> (currently, it make components check for overrides before going to the
> registry - hence the annotation name @ForComponents).
>
> However, would a simple unit test of the service do the trick for you? In
> other words, just create the ModuleOrderProvider by hand, passing in the
> mocked/faked dependencies :
> ModuleOrderProvider u = new ModuleOrderProviderImpl(settingsFacade);
>
> - Paul
>
>
>
> Inge Solvoll <inge.tapes...@gmail.com> wrote on 23/02/2010 10:42:52:
>
> > Ok, so now I need to mock one of the dependencies of a service I'm
> testing.
> > I realized that I don't know how to do that when I manually created my
> > registry. I don't want to have a "TestModule" that builds fakes for my
> > external dependencies, in this case it is enough to just mock the
> service
> > that provides configuration values.
> >
> > Then I tried using testify, like below, but Mockito claims that my
> > "settings" service is not a mock, so I guess testify isn't built to
> support
> > this kind of mocking... Any ideas?
> >
> >   @Mock
> >   @ForComponents
> >   private SettingsFacade settings;
> >
> >   @Test
> >   public void settingValueIsCachedInThread() {
> >     when(settings.get(MODULE_ORDER)).thenReturn("module1,module2");
> >     ModuleOrderProvider u =
> tester.getService(ModuleOrderProvider.class); //
> > This service dependes on the SettingsFacade service
> >     u.getOrder();
> >     u.getOrder();
> >     verify(settings.get(MODULE_ORDER), times(1));
> >   }
> >
> >
> >
> >
> >
> >
> >
> > On Thu, Feb 18, 2010 at 8:58 AM, Ulrich Stärk <u...@spielviel.de> wrote:
> >
> > > Hmm, you are right.
> > >
> > > The builder method for that service would be called multiple times
> though
> > > IIRC. Maybe somehow check that then?
> > >
> > > Uli
> > >
> > > On 17.02.2010 23:32 schrieb Martin Strand:
> > >
> > >  Hmm, why different instances? Wouldn't every thread see the same
> proxy
> > >> instance?
> > >>
> > >> Martin
> > >>
> > >> On Wed, 17 Feb 2010 12:17:35 +0100, Ulrich Stärk <u...@spielviel.de>
> > >> wrote:
> > >>
> > >>  Querying the registry for the same service from different threads
> > >>> should yield different instances
> > >>> when using the perthread scope. Just test that. No need for a
> request
> > >>> if your service doesn't
> > >>> require one.
> > >>>
> > >>> Uli
> > >>>
> > >>> On 17.02.2010 11:42 schrieb Inge Solvoll:
> > >>>
> > >>>> Hi!
> > >>>>
> > >>>> I recently encountered a bug in one of my services, where it had
> the
> > >>>> wrong
> > >>>> scope because I put the scope annotation on the interface rather
> than
> > >>>> on the
> > >>>> implementing class. I got the idea that I could manually create a
> T5 IOC
> > >>>> registry to do integration testing on my services. But how can I
> test
> > >>>> "perthread" scope on services in the test registry when there are
> no
> > >>>> real
> > >>>> requests? I'm assuming this requires mocking the Request object in
> > >>>> some way?
> > >>>>
> > >>>> Inge
> > >>>>
> > >>>
> > >> ---------------------------------------------------------------------
> > >> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> > >> For additional commands, e-mail: users-h...@tapestry.apache.org
> > >>
> > >>
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> > > For additional commands, e-mail: users-h...@tapestry.apache.org
> > >
> > >
>
>
>
> ---
>
> This e-mail may contain confidential and/or privileged information. If you
> are not the intended recipient (or have received this e-mail in error)
> please notify the sender immediately and delete this e-mail. Any
> unauthorized copying, disclosure or distribution of the material in this
> e-mail is strictly forbidden.
>
> Please refer to http://www.db.com/en/content/eu_disclosures.htm for
> additional EU corporate and regulatory disclosures.

Reply via email to