Я заметил, что любая ссылка на свойство отсутствует, когда требуются классы домена в модульных тестах Grails.
Где-то в модульном тесте
mockDomain(Event)
10.times {
e = new Event(eventCalendar:ec, title:"$ec - Event $it", details:"some detail", location:"some location", startDate: now, endDate: now+1)
e.save()
}
Event.groovy
static beforeInsert = {
if (!endDate) {
// do something about it
}
}
Результирующая ошибка
No such property: endDate for class: myproj.Event Possible solutions: endDate
groovy.lang.MissingPropertyException: No such property: endDate for class: myproj.Event
Possible solutions: endDate
at myproj.Event$__clinit__closure5.doCall(Event.groovy:74)
at myproj.Event$__clinit__closure5.doCall(Event.groovy)
at grails.test.MockUtils.triggerEvent(MockUtils.groovy:724)
at grails.test.MockUtils$_addDynamicInstanceMethods_closure68.doCall(MockUtils.groovy:752)
at grails.test.MockUtils$_addDynamicInstanceMethods_closure68.doCall(MockUtils.groovy)
at myproj.EventCalendarTest$_testCreateAndDeleteCalendarWithEvents_closure1.doCall(EventCalendarTest.groovy:43)
at myproj.EventCalendarTest.testCreateAndDeleteCalendarWithEvents(EventCalendarTest.groovy:40)
- Как мне все еще создать рабочий тест?
- Почему трассировка стека предлагает свойство, которое было указано как отсутствующее?