hi martin, you missed his test "abortRenderingOnUsage()" tester.executeBehavior() doesn't fit his case, also tester#executeBehavior(AbstractAjaxBehavior behavior)
On Fri, Nov 2, 2012 at 1:49 PM, Martin Grigorov <[email protected]> wrote: > Hi, > > Additionally you need to : tester.executeBehavior() otherwise > WicketTester is not used at all in your test. > > On Thu, Nov 1, 2012 at 10:49 PM, vineet semwal <[email protected]> > wrote: >> hi, >> this is expected behavior, >> AbortWithHttpErrorCodeException doesn't respond with >> InternalErrorPage,it merely sets HTTP error code , >> you can assert that by below code >> >> Assert.assertEquals( tester.getLastResponse().getStatus(), >> HttpServletResponse.SC_NOT_FOUND); >> Assert.assertEquals(tester.getLastResponse().getErrorMessage(), >> "This is for testing") ; >> >> >> On Thu, Nov 1, 2012 at 11:54 PM, Per Newgro <[email protected]> wrote: >>> Hi, >>> >>> i try to unit test a custom behavior. But i was wondering what's the right >>> way to test it. >>> >>> I provide some code to explain my mind mismatch. The behavior shall >>> interrupt the rendering >>> of a component. I would like to answer this with a 404. Calling the behavior >>> method directly >>> results in the expected exception. But if i render a using component it's >>> not answered by the 404. >>> >>> How can i get a 404 within the usage testcase (see below). >>> >>> Thanks for helping me >>> Per >>> >>> <code> >>> public class TestHomePage { >>> >>> public static class MyBehavior extends Behavior { >>> @Override >>> public void beforeRender(Component component) { >>> if (true) { >>> throw new >>> AbortWithHttpErrorCodeException(HttpServletResponse.SC_NOT_FOUND, "This is >>> for testing"); >>> } >>> } >>> } >>> >>> public static class MyTestHomePage extends WebPage implements >>> IMarkupResourceStreamProvider { >>> >>> public MyTestHomePage() { >>> add(new MyBehavior()); >>> } >>> >>> @Override >>> public IResourceStream getMarkupResourceStream( >>> MarkupContainer container, Class<?> containerClass) { >>> return Markup.of("<html></html>").getMarkupResourceStream(); >>> } >>> } >>> >>> private WicketTester tester; >>> >>> @Before >>> public void setUp() { >>> tester = new WicketTester(new WicketApplication()); >>> } >>> >>> @Test >>> public void abortRenderingOnUsage() { >>> tester.startPage(MyTestHomePage.class); >>> tester.assertRenderedPage(InternalErrorPage.class); >>> } >>> >>> @Test(expected = AbortWithHttpErrorCodeException.class) >>> public void abortRenderingOnUnitTesting() { >>> MyBehavior behavior = new MyBehavior(); >>> behavior.beforeRender(null); >>> } >>> } >>> </code> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: [email protected] >>> For additional commands, e-mail: [email protected] >>> >> >> >> >> -- >> regards, >> >> Vineet Semwal >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [email protected] >> For additional commands, e-mail: [email protected] >> > > > > -- > Martin Grigorov > jWeekend > Training, Consulting, Development > http://jWeekend.com > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > -- regards, Vineet Semwal --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
