정말 그렇게 할 수 있습니까? startPanel은 이미 우리 대신 페이지 매개 변수없이 더미 페이지를 만듭니다. 당신의 접근 방식을 사용하면 두 페이지로 패널을 부착하는데, 이는 나에게 최적의 솔루션처럼 보이지 않습니다. 지금 나는에서 startPanel와 WicketTester (패널, PageParameters) 기능 확장 :
public Panel startPanel(final TestPanelSource testPanelSource, final PageParameters parameters) {
return (Panel) startPage(new ITestPageSource() {
public Page getTestPage() {
return new DummyPanelPage(testPanelSource, parameters);
}
}).get(DummyPanelPage.TEST_PANEL_ID);
}
을 그리고 매개 변수 그것은 나를 친다
public class DummyPanelPage extends WebPage {
/**
* The dummy <code>Panel</code> <code>Component</code> id.
*/
public static final String TEST_PANEL_ID = "panel";
/**
* Default constructor.
* @param testPanelSource <code>TestPanelSource</code>
*/
public DummyPanelPage(final TestPanelSource testPanelSource, final PageParameters parameters) {
super(parameters);
add(testPanelSource.getTestPanel(TEST_PANEL_ID));
}
}
을 constrctor 페이지와 새로운 더미 패널 페이지를 만든 이유는이 기능 ISN ' 그냥 아파치에 의해 상자 밖으로 제공.
+1 나의 첫번째 본능 대신에서 startPanel의 시작 페이지을하고 PageParameters을 처리하기 위해 구성된 테스트 페이지를 사용했을 것이다. 하지만 해결책이 좋습니다. –
+1 나는 그것이 그것이 자신의 페이지임을 알지 못했다. 이것은 Jeroen 테스트를 작성하는 방법에 더 가깝습니다. – Matt