bueno vamos a testear una webPage de Wicket
asumo el uso de maven, asi que si no esta, a poner las librerias a manopla =D
dependencias en el pom
codigo

asumo el uso de maven, asi que si no esta, a poner las librerias a manopla =D
dependencias en el pom
<!-- .......TEST (JUNIT).............-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.7</version>
</dependency>
<dependency>
<groupId>org.easymock</groupId>
<artifactId>easymock</artifactId>
<version>2.5.2</version>
</dependency>
<dependency>
<groupId>easymock</groupId>
<artifactId>easymockclassextension</artifactId>
<version>2.2</version>
</dependency>
codigo
//uso de import static es para no escribir los tipos
// Ejemplo "EasyMock.expect( ...."
// con import static va solo "expect(.."
//mas en http://java.sun.com/j2se/1.5.0/docs/guide/language/static-import.html
import static org.easymock.EasyMock.*;
import java.util.ArrayList;
public class ArtistPageTest extends TestCase {
private WicketTester testerApplication;
private ApplicationContextMock appctx;
@Override
public void setUp() {
appctx = new ApplicationContextMock();
testerApplication = new WicketTester();
testerApplication.getApplication().addComponentInstantiationListener(
new SpringComponentInjector(testerApplication.getApplication(),
appctx));
//esto es un listado de artistas con un getAll (algo asi como un dao)
Bag<Artist> artists = createMock(Bag.class );
ArrayList<Artist> unaLista = new ArrayList<Artist>();
//esto es fluent new Algo().SetProp("bla") en vez de void los metodos son del tipo de la clase, y pongo return this
//http://code.google.com/p/base2dev/source/browse/src/trunk/base2dev/core/src/main/java/musics/model/Artist.java
unaLista.add(new Artist().setName("Pepe Argento").setDescription("pepe fue un grande"));
//seteamos con easyMock que espera cuando llama a algun metodo
expect(artists.getAll()).andReturn(mockList);
replay(artists);
// lo agregamos al manejador de instancias
getAppContext().putBean("artists", artists);
}
public WicketTester getTesterApplication() {
return testerApplication;
}
public ApplicationContextMock getAppContext() {
return appctx;
}
@Test
public void testRenderThePage() {
getTesterApplication().startPage(Artists.class);
getTesterApplication().assertRenderedPage(Artists.class);
}
todo el codigo esta en
http://code.google.com/p/base2dev/source/browse/src/trunk/#trunk/base2dev

Powered by ScribeFire.
No hay comentarios.:
Publicar un comentario