Okay, so what's the easiest way to replace a single bean with a mock? I tried Springockito's @ReplaceWithMock w/o any luck.
My webapp in testing is configured as follows: public class BaseConsoleTest extends SpringTest { ... ConsoleApplication testConsoleApplication = new ConsoleApplication() { @Override public ServletContext getServletContext() { ServletContext servletContext = super.getServletContext(); XmlWebApplicationContext wctx = new XmlWebApplicationContext(); wctx.setParent(getSpringApplicationContext()); wctx.setConfigLocation(""); wctx.setServletContext(servletContext); wctx.refresh(); servletContext.setAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTE XT_ATTRIBUTE, wctx); return servletContext; } @Override protected void onDestroy() { super.onDestroy(); if(tester != null) { tester.destroy(); tester = null; } } @Override public Class<? extends Page> getHomePage() { Class<? extends Page> testHomePage = super.getHomePage(); return (testHomePage == null) ? MyDummyPage.class : testHomePage; } }; ... } This class extended: @ContextConfiguration(loader = SpringockitoContextLoader.class, locations = {"classpath:applicationContext.xml"}) @TransactionConfiguration(defaultRollback = true) @Transactional public abstract class SpringTest extends AbstractTransactionalTestNGSpringContextTests { // Setup data sources } Simply enough I just want to mock and inject the new mock by replacing a single DAO defined in my applicationContext.xml. The test I've tried: @Test public class GroupingBaseTestPage extends BaseConsoleTest { ... @ReplaceWithMock @Autowired private DictionaryGroupingDao dictionaryGroupingDao; ... } Now each time I tried to define a mock for dictionaryGroupingDao the real bean is called instead: when(dictionaryGroupingDao.countAvaialbleItems(Mockito.<DictionaryGroupingQu eryParams>any()) ).thenReturn( getCount() ); The above dictionaryGroupingDao.countAvaialbleItems() executes on the real bean as if @ReplaceWithMock never did its work. I've tried with regular Mockito via the @Mock and that mocks my bean but it doesn't inject it into my Wicket's app :( Right now I gave up on Springockito and resorted to simply using Mockito for the mocks I need with a ApplicationContextMock which is killing me as I have quite a lot of mocks to implement just to get the user logged in to the application and start a single page :( I don't yet want to use Spring's ProxyFactoryBean in conjunction with HotSwappableTargetSource as it would make a mess of my applicationContext.xml. ~ Thank you, Paul Bors -----Original Message----- From: Andreas Kuhtz [mailto:andreas.ku...@gmail.com] Sent: Wednesday, June 12, 2013 11:26 AM To: users@wicket.apache.org Subject: Re: Unit testing a repeater or data table by mocking its data Hi Paul, Not sure if I got you right but you might check out: https://bitbucket.org/kubek2k/springockito/wiki/Home Best regards Andi 2013/6/12 Paul Bors <p...@bors.ws>: > I like the simplicity of Mockito and got it working in my unit tests, but now I find myself mocking more services than I wanted. > > Wicket Page Teste allows you to inject your mocks on top of the SpringBeans, is that possible with Mockito? > http://WicketPageTest.sourceforge.net/ > > In other words I want to have my normal XML mapped beans context have some beans be overridden only for some tests (talk about being lazy). > > ~ Thank you, > Paul Bors > > -----Original Message----- > From: heikki [mailto:tropic...@gmail.com] > Sent: Tuesday, June 11, 2013 11:14 AM > To: users@wicket.apache.org > Subject: Re: Unit testing a repeater or data table by mocking its data > > dear Paul, > > I've recently used Mockito and am quite happy with it. You can easily mock any class and make it behave as you need. > > Best regards > Heikki Doeleman > > > On Tue, Jun 11, 2013 at 5:08 PM, Paul Bors <p...@bors.ws> wrote: > >> Up to recently we got away with running our unit tests fully >> integrated with the back end db by performing live queries via our >> DAOs. >> >> Due to recent changes to our product schema we run into the >> inevitable high cost of having to spend too much time on maintain our >> mocked unit test data straight into the db. To cut down on that cost >> I would like to start mocking most of our DAOs that back-up the data >> tables in our product (gradually over time). >> >> >> >> Which brings me to my question, what's the recommended approach from >> Wicket's team (or users) on mocking the DAOs that are used by the >> data providers of your data tables? >> >> >> >> Our advantage is that we are using Spring and thus we could rely on >> spring-test, its ReflectionTestUtils but I also took a look at >> Mockito, EasyMock and such. >> >> I'm more curious as to what has been your experience in the past and >> what would you consider to be the best approach? >> >> >> >> ~ Thank you, >> >> Paul Bors >> >> >> >> >> >> > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > For additional commands, e-mail: users-h...@wicket.apache.org > --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org