Hi, How much faster could the unit tests run after removing powermock and using the instance methods instead?
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 :) Laszlo ----- Original Message ----- > From: "Yair Zaslavsky" <[email protected]> > To: "engine-devel" <[email protected]> > 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 > [email protected] > http://lists.ovirt.org/mailman/listinfo/engine-devel > _______________________________________________ Engine-devel mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-devel
