Hello,
        In our project, we have some panels and we embed those panels
dynamically to pages. 

public class DoublePanel extends Panel {
public DoublePanel(String id, Panel leftPanel, Panel rightPanel) {
 .....
 }
}

I am not sure how to write unit test just for this class without a webpage.

public class DoublePanelTest {

private WicketTester tester;

@Before
    public void init() {
        tester = new WicketTester();
    }

@Test
    public void testDoublePanel() {
        tester.startComponentInPage(new DoublePanel("double", leftPanel,
rightPanel));
    }
}

I tried to run something like above. But got the below exception. I checked
some sample test case but in all, they have used tester.startPage(xxx.class)
and then used tester.startPanel(). Is it possible to test just the panel
without a webpage?

java.lang.NullPointerException
        at org.apache.wicket.Page.isBookmarkable(Page.java:435)
        at org.apache.wicket.Page.init(Page.java:734)
        at org.apache.wicket.Page.<init>(Page.java:216)
        at org.apache.wicket.Page.<init>(Page.java:170)
        at org.apache.wicket.markup.html.WebPage.<init>(WebPage.java:74)
        at
org.apache.wicket.util.tester.BaseWicketTester$StartComponentInPage.<init>(BaseWicketTester.java:1430)
        at
org.apache.wicket.util.tester.BaseWicketTester.createPage(BaseWicketTester.java:1411)
        at
org.apache.wicket.util.tester.BaseWicketTester.startComponentInPage(BaseWicketTester.java:1332)
        at xxx.DoublePanelTest.testDoublePanel(DoublePanelTest.java:25)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at
org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49)
        at
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
        at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
        at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
        at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
        at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

Thanks,
Suresh


--
View this message in context: 
http://apache-wicket.1842946.n4.nabble.com/How-to-test-just-a-panel-using-apache-wicket-tp4097990p4097990.html
Sent from the Users forum mailing list archive at Nabble.com.

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to