Мне трудно высмеивать метод сохранения экземпляра в моих модульных тестах в Grails 1.3.3. Я создал простой класс домена с именем Person, у него есть одно свойство (nullable) с именем "name".
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
at grails.test.MockUtils $ _addValidateMethod_closure83.doCall (MockUtils.groovy: 973)
at grails.test.MockUtils $ _addValidateMethod_closure84.doCall (MockUtils.groovy: 1014)
at grails.test.MockUtils $ _addDynamicInstanceMethods_closure67.doCall (MockUtils.groovy: 736)
at grails.test.MockUtils $ _addDynamicInstanceMethods_closure67.doCall (MockUtils.groovy)
на tutorial.PersonTests.testCanSavePerson (PersonTests.groovy: 25)
, тогда как строка 25 является именно той, которая вызывает save () для вновь созданного экземпляра.
Кто-нибудь знает, что я делаю не так?