Hello Albert, Unfortunately I cannot do that. I already prepared different modules that are supposed to be used this way by end developers (FYI, I am still working on HiveMind-Hibernate integration). Actually, another way I could have dealt with that problem (your suggestion makes me think about it) would have been to run my integration tests directly on class files and not on the final jar that contains the classes plus the module descriptor. That way, I can avoid using the default descriptor and provide one especially for my integration tests...
I will have a look at it (I am afraid I'll have to tune again my ant build, I have spent quite some time on it, have to say that I am _not_ an ant expert, far from that actually). Jean-Francois -----Original Message----- From: Albert Kwong [mailto:[EMAIL PROTECTED] Sent: Sunday, October 31, 2004 7:15 PM To: [email protected] Subject: RE: Overriding services Can you separate your hibnerate stuff into another jar file and then supply a mock jar for integration testing? Albert --- Jean-Francois Poilpret <[EMAIL PROTECTED]> ?容: > Hello Knut, > > Yes of course I did that for my _true_ unit tests. > > But I wanted to go further with partial > _integration_ tests within HiveMind > (in particular I wanted to check that my > contribution rules worked OK and I > got the List of the right objects, for that, > obviously, I need to integrate > with HiveMind). However, I would like to avoid > _full_ integration tests for > the moment (I mean, let Hibernate aside in my > partial integration tests). > > So the reason of my question. > > Cheers > > > -----Original Message----- > From: Knut Wannheden > [mailto:[EMAIL PROTECTED] > Sent: Sunday, October 31, 2004 4:07 PM > To: [email protected] > Subject: Re: Overriding services > > Jean-Francois, > > I'm not sure I quite understand your problem. But > can't you just > write your test for service B without using > HiveMind? E.g. > > A mockA = new AMockImp(); > B b = new BImpl(); > b.setA(mockA); > > Also note the services > hivemind.lib.DefaultImplementationFactory and > hivemind.lib.PlaceholderFactory. > > --knut > > > On Sun, 31 Oct 2004 13:45:24 +0700, Jean-Francois > Poilpret > <[EMAIL PROTECTED]> wrote: > > Hi, > > > > Yesterday I was stuck with the following problem: > > - I have a service-point A that is used internally > by some other > > service-point B > > - service-point A implementation depends on some > "heavy" processing (it > uses > > Hibernate to create a SessionFactory based on a > configuration file and > some > > additional properties) > > > > I had the need to do some "partial integration > test" of service B inside > > HiveMind, but I did not want to use real Hibernate > stuff (this would make > > the test too long and uselessly complicated). > > > > Originally, in the module where services A and B > are defined, I put the > > implementation declaration for A directly in > service-point declaration. > > But then I could not override A implementation for > testing purposes (for > > testing I needed to mock service A > implementation). > > > > So I started to check how I could "override" > service A implementation for > my > > tests. > > > > On Hibernate web site, there is a page on > overriding services, this way is > > probably a good way to follow for a service-point > that is _intended_ to be > > overridden by the application, but I found it a > bit heavy just for testing > > purposes. > > > > Finally, I could not come out with a _good_ > solution to my problem and I > > gave up to what I considered the best solution I > had on-hand for the job > > (best but not really good actually): > > - in module descriptor for services A & B, I > removed the "invoke-factory" > > from service-point A, just keeping the > service-point declaration. > > - in my tests, I had a descriptor that includes > the implementation for > > service A (in this case the implementation points > to a class that is > > directly defined in my test case, and that > delegates all method calls to a > > Mock object) > > - unfortunately (this is where the solution is not > really good), in the > > final application descriptor module, I (and other > application developers > > too) _have_ to include the implementation for > service A, although it is > > supposed to be always the same. > > > > I think that, probably (as suggested in the web > page regarding override of > > services), it would be interesting to have a > HiveMind-defined way to do > > that, ie: > > - defining a default implementation for a > service-point > > - having the built-in possibility to override it > in another module > > In the situation of my test case, it would have > the advantage of being > > unobtrusive to the end-application developer. > > > > Should this be an enhancement request? > > Or have other developers in the list faced the > same problem and could come > > out with a different solution? > > > > Cheers > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: > [EMAIL PROTECTED] > > For additional commands, e-mail: > [EMAIL PROTECTED] > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: > [EMAIL PROTECTED] > For additional commands, e-mail: > [EMAIL PROTECTED] > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: > [EMAIL PROTECTED] > For additional commands, e-mail: > [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
