Мне сложно издеваться над методом экземпляра save в моих модульных тестах в Grails 1.3.3. Я создал простой класс домена с именем Person, у него есть одно свойство (nullable), называемое «name».Отказывание метода «save» в классах доменов
package tutorial
class Person {
String name
static constraints = {
name nullable: true
}
}
В моем тесте я пытаюсь сделать что-то я нашел в документации:
class PersonTests extends GrailsUnitTestCase {
public void testCanSavePerson() {
def testInstances = []
mockDomain(Person, testInstances)
assertEquals(0, Person.count())
new Person(name: "Bob").save()
assertEquals(1, Person.count())
}
}
Однако, как только я запускаю тест, что я получаю исключение:
java.lang.NullPointerException в grails.test.MockUtils $ _addValidateMethod_closure83.doCall (MockUtils.groovy: 973) в grails.test.MockUtils $ _addValidateMethod_closure84.doCall (MockUtils.groovy: 1014) в grails.test.MockUti Ls $ _addDynamicInstanceMethods_closure67.doCall (MockUtils.groovy: 736) в grails.test.MockUtils $ _addDynamicInstanceMethods_closure67.doCall (MockUtils.groovy) на tutorial.PersonTests.testCanSavePerson (PersonTests.groovy: 25)
, тогда как линии 25 это именно тот, который вызывает save() для вновь созданного экземпляра.
Кто-нибудь знает, что я делаю неправильно?
Как ни странно, он работает с 1.3.2 и 1.3.1 ... Наверное, мне придется записать отчет об ошибке. –