2012-05-27 9 views
5

ここで私がテストしたいドメインクラスです。私はtest-appコマンドを使用して私のテストを実行しようとするとエラーのためGrailsアプリケーションをテストできません

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

以下は私のテストクラス

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

ですが、私はこのエラー

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] 

何だ、私は理解していないんです問題。

+0

どのGrailsのバージョンを使用していますか? – erturne

+0

@erturne Grails 2.0.4 – emilan

答えて

5

Grails 2.xでは、GrailsUnitTestCaseを拡張するのではなく、代わりにmixin注釈を使用してください。

The Test Mixins

+0

GrailsUnitTestCaseのregisterMetaClassメソッドを使用するにはどうすればよいですか? – Alison

+1

grails 2.xで自動的に行われるため、registerMetaClassメソッドを使用する必要はありません(メタクラスの変更をクリーンアップするため)。 – j4y

関連する問題