Secciones

Artículos para tus primeros pasos

Si estás empezando a introducirte en el mundo de Groovy y Grails, no te pierdas nuestros artículos básicos: 

Entrevistas con los expertos
 

Los protagonistas te cuentan de qué van los proyectos más importantes del mundo Groovy:


Un proyecto de:
ImaginaWorks
Campus Escuela de Groovy

gmock 0.7

martes 24/03/2009

Acaba de liberarse la versión 0.7 de gmock, un framework de pruebas unitarias que nace con el objetivo de primar la sencillez. Desarrollar pruebas unitarias con este entorno es muy sencillo. Los objetos mock se generan mediante llamadas al método mock(), registrarán las invocaciones a métodos y generarán expectativas (valores esperados). Aquí tenéis un ejemplo de un caso de prueba completo:

import org.gmock.GMockTestCase

class LoaderTest extends GMockTestCase {
 
void testLoader(){
   
def mockLoader = mock()
    mockLoader
.load('key').returns('value')
    play
{
      assertEquals
"value", mockLoader.load('key')
   
}
 
}
}
Las novedades de esta versión incluyen:
- Pruebas de ordenación estricta:
def database = mock()
def cache = mock()
ordered {
database.open()
cache.get("select * from cat").returns(null)
database.query("select * from cat").returns(["cat1", "cat2"])
cache.put("select * from cat", ["cat1", "cat2"])
database.close()
}
- Mocking parcial:
def controller = new SomeController()
mock(controller).params.returns([id: 3])
 

 


Contenidos relacionados:



2 comentarios:

gmock 0.7

idecasso - viernes 27/03/2009

Si entiendo bien, sirve para hacer mas sencillo escribir los caso de prueba?

Re:gmock 0.7

Nacho - jueves 21/05/2009

Si, sirve para poder probar objetos que dependen de otros que son "difíciles de conseguir". Por ejemplo, en Grails se utilizan para probar entidades GORM sin conectar con la base de datos, o controladores sin tener una HttpServletRequest de verdad.

Tienes que estar registrado para iniciar sesión y poder publicar tus comentarios