2012-05-27 16 views
5

Oto moja klasa domeny, którą chcę przetestować.nie może przetestować aplikacji Grails z powodu błędu

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" 
    } 
} 

A poniżej jest moja klasa Test

@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() 
    } 
} 

Kiedy próbuję uruchomić mój test z poleceniem test-app, mam ten błąd

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] 

Nie rozumiem co problem.

+0

Która wersja Grails używasz? – erturne

+0

@erturne Grails 2.0.4 – emilan

Odpowiedz

5

Dla grails 2.x nie należy rozszerzać GrailsUnitTestCase, ale należy użyć adnotacji mixin.

Zobacz The Test Mixins

+0

Co powinienem zrobić, jeśli chcę użyć metody GraMonitTestCase registerMetaClass? – Alison

+1

nie ma potrzeby używania metody registerMetaClass (do czyszczenia modyfikacji klasy meta), ponieważ dzieje się to automatycznie w grails 2.x – j4y

Powiązane problemy