ah I think I see

       RegistryBuilder b = new RegistryBuilder();
        b.add(HibernateModule.class);
       Registry r = b.build();

        r.getService(MyService.class);

that makes sense

Cheers


On Thu, Sep 26, 2013 at 12:55 AM, Boris Horvat <horvat.z.bo...@gmail.com>wrote:

> Thanks for the detail replay it helps me to figure out the best way to
> organise everything.
>
> btw once you have everything registered how do you get a service?
>
> cheers
>
>
> On Thu, Sep 26, 2013 at 12:38 AM, Martin Kersten <
> martin.kersten...@gmail.com> wrote:
>
>> Hi Boris,
>>
>>    I just use a registery builder and add the sub modules I need to test
>> (as already mentioned). Often
>> I use public TestModule static classes that reside into the TestCase
>> class.
>> Then I just use those TestModule
>> classes to build the registry. They contain often only the services needed
>> using bind(ServiceImpl.class) which
>> makes it quite easy to use special bindings and only a fraction of the
>> application sub modules of this BI parts.
>>
>> I use a H2 inmemory setup to get everything related to unit tests done
>> quickly. For setup I use the appropriated
>> services and sometimes I use the entities directly. Depends on the
>> situation and use case. Often I use the same
>> entities in different services dealing those differently or altering them
>> (like one serivce creates a task and another
>> one picks it up and alters and process it).
>>
>> I also have limited unit tests where I simply setup hibernate directly,
>> add
>> the required entity classes and wire up and
>> instanciate the services directly but I am almost ever come back later and
>> replace those with using a RegistryBuilder.
>>
>> One thing that you need to consider is that your HibernateConfigurer
>> instances must be different for the application
>> and the test. I have an AppModule and a TestModule and also I have sub
>> modules with the configuration. Therefore
>> I just add a InMemoryTestDatabaseModule and get the hibernate
>> configuration
>> for the in memory test database.
>> Also this module is in src/test/java rather then in the src/main/java.
>>
>> The rest is as straight forward as you actually wrote. Usually one use
>> state-testing rather then behavior-testing.
>> So you setup, modify, verify the state of the database. There are rare
>> occursions I use behavior testing and using
>> a mocking framework for injecting services and replace those.
>>
>>
>> Cheers,
>>
>> Martin (Kersten)
>>
>>
>>
>> 2013/9/22 Boris Horvat <horvat.z.bo...@gmail.com>
>>
>> > Hi all,
>> >
>> > How does one make a proper testing of the business layer in tapestry
>> that I
>> > inject into the page as a service? Is there anything specific that one
>> > needs to look out for?
>> >
>> > Should I simple do something like
>> >
>> > 1) Create an object of the BU layer
>> > 2) Mock hibernate with some in-memory db
>> > 3) Call methods of the BU layer
>> > 4) Verify the results
>> >
>> > Any test example that I can check out? Any projects with a nice testing
>> > environments that one can recommend?
>> >
>> > Thanks
>> >
>> > --
>> > Sincerely
>> > *Boris Horvat*
>> >
>>
>
>
>
> --
> Sincerely
> *Boris Horvat*
>



-- 
Sincerely
*Boris Horvat*

Reply via email to