2012-05-27 20 views
5

Đây là lớp miền của tôi, mà tôi muốn kiểm tra.không thể kiểm tra ứng dụng grails của tôi vì lỗi

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

Và dưới đây là lớp học thử nghiệm của tôi

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

Khi tôi cố gắng chạy thử nghiệm của tôi với test-app lệnh, tôi đã có lỗi này

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] 

Tôi không hiểu những gì vấn đề.

+0

Bạn đang sử dụng phiên bản Grails nào? – erturne

+0

@erturne Grails 2.0.4 – emilan

Trả lời

5

Đối với grails 2.x bạn không nên mở rộng GrailsUnitTestCase, nhưng thay vào đó hãy sử dụng chú thích mixin.

Xem The Test Mixins

+0

Tôi nên làm gì nếu tôi muốn sử dụng phương thức registerMetaClass của GrailsUnitTestCase? – Alison

+1

không cần sử dụng phương thức registerMetaClass (để xóa các sửa đổi meta-class) vì nó tự động xảy ra trong grails 2.x – j4y

Các vấn đề liên quan