lunes, 16 de noviembre de 2009

wicket test paginas con parametros

por ejemplo si tenemos







public class AlbumPage extends WebPage{
private final Album album;

public AlbumPage(Album album) {
this.album = album;
}
}







el test seria






//creado asi por fluent (http://en.wikipedia.org/wiki/Fluent_interface#Java )
final Album mockAlbum = new Album().setArtist( new Artist().setName("Pepe Argento")).setName("el disco de pp");

public void testRenderThePage() {
//con una clase anonima, estamos sobreescribiendo el metodo getTestPage(), para porder invocar a la pagina con el constructor
//(otra bondad de las clases anonimas =D )
getTesterApplication().startPage(new ITestPageSource() {
private static final long serialVersionUID = 1L;
public Page getTestPage() {
return new AlbumPage(mockAlbum);
}
});

getTesterApplication().assertRenderedPage(AlbumPage.class);








el error que da si queremos usar startPage(MiPagina.class )

org.apache.wicket.WicketRuntimeException: Unable to create page from class base2dev.web.pages.musics.AlbumPage.
Class does neither have a constructor with PageParameter nor a default constructor
at org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:68)
at org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.newPage(BookmarkablePageRequestTarget.java:299)
at org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.getPage(BookmarkablePageRequestTarget.java:321)
at org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.processEvents(BookmarkablePageRequestTarget.java:234)
at org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:92)
at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1250)
...





Powered by ScribeFire.



No hay comentarios.: