2012-05-27 10 views
5

Aquí está mi clase de dominio, que quiero probar.no puede probar mi aplicación Grails debido a error

class TekEvent { 
    String city 
    String name 
    String organizer 
    String venue 
    Date startDate 
    Date endDate 
    String description 

    static constraints = { 
     name() 
     city() 
     description(maxSize: 5000) 
     organizer() 
     venue() 
     startDate() 
     endDate() 
    } 

    String toString(){ 
     "$name, $city" 
    } 
} 

Y a continuación es mi clase de prueba

@TestFor(TekEvent) 
class TekEventTests extends GrailsUnitTestCase { 
    void testToString() { 
     def tekEvent = new TekEvent(
       name: 'Groovy One', 
       city: 'San Francisco, CA', 
       organizer: 'Emil Matevosyan', 
       venue: 'Moscone center', 
       startDate: new Date('6/2/2015'), 
       endDate: new Date('6/5/2015'), 
       description: 'This conference will cover all...') 

     assertEquals 'Groovy One, San Francisco, CA', tekEvent.toString() 
    } 
} 

Cuando trato de ejecutar mi prueba con test-app comando, tengo este error

The return type of java.lang.Object mockDomain(java.lang.Class, java.util.List) in tekdays.TekEventTests is incompatible with void mockDomain(java.lang.Class, java.util.List) in grails.test.GrailsUnitTestCase 
. At [-1:-1] 

No entiendo lo que es el problema.

+0

¿Qué versión de Grails estás utilizando? – erturne

+0

@erturne Grails 2.0.4 – emilan

Respuesta

5

Para Grails 2.x no debe extender GrailsUnitTestCase, pero utilice las anotaciones mixin en su lugar.

Ver The Test Mixins

+0

¿Qué debo hacer si deseo utilizar el método registerMetaClass de GrailsUnitTestCase? – Alison

+1

no hay necesidad de usar el método registerMetaClass (para limpiar modificaciones de metaclase) porque ocurre automáticamente en grails 2.x – j4y

Cuestiones relacionadas