On 03/28/2012 09:23 AM, Laszlo Hornyak wrote:
Hi,
How much faster could the unit tests run after removing powermock and using the instance
methods instead?
Faster. I remind you we reached OutOfMemory when using PowerMock
(it
consumes lots of memory) and we had to split the tests and run them on
separate java processes.
I like this idea anyway because it could be a step towards dependency injection.
Could be a more motivating long term objective than just to get rid of powermock :)
I totally agree here.
Laszlo
----- Original Message -----
> From: "Yair Zaslavsky" <yzaslavs(a)redhat.com>
> To: "engine-devel" <engine-devel(a)ovirt.org>
> Sent: Tuesday, March 27, 2012 7:33:18 PM
> Subject: [Engine-devel] Getting rid of PowerMock?
>
> Hi all,
> As (almost) all of us can see,
> Running BLL tests both takes considerable time, and also we have to
> take
> class loading dependencies between classes with static methods when
> we
> use mockStatic - IMHO, this is kinda frustrating.
> Maybe we should start get rid of PowerMock.
> Here is what I'm thinking of -
> Currently, as we use no IoC for DAOs , for tested class we do not use
> DbFacade.getInstance().getXXXDao()
>
> instead we define:
>
> protected XXXDao getXXXDao() {
> return DBFacade.getInstance().getXXXDao();
> }
>
> And then in our tests we use Mockito to define how getXXDao acts in
> the
> test.
>
> The following can be achieved also for config values , the following
> way -
>
> protected <T> T getConfig(ConfigValues key) {
> return Config.<T> GetValue(key);
> }
>
> And then in code (for example, in a query test) -
>
> doReturn(5).when(query).<Integer>
> getConfig(any(ConfigValues.SomeIntegerConstant));
>
>
> This effort can be done in small steps -
> a. Define getConfig method in base classes (i.e AuditLoggalbeBase).
> b. Rewrite parts (i.e Commands, and their tests) step by step (small
> commits)
>
> Thoughts and ideas are more than welcome,
>
> Yair
> _______________________________________________
> Engine-devel mailing list
> Engine-devel(a)ovirt.org
>
http://lists.ovirt.org/mailman/listinfo/engine-devel
>