Насмешка над методом сохранения в классах домена - PullRequest
1 голос
/ 16 июля 2010

Мне трудно высмеивать метод сохранения экземпляра в моих модульных тестах в 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 () для вновь созданного экземпляра.

Кто-нибудь знает, что я делаю не так?

1 Ответ

0 голосов
/ 16 июля 2010

Это уже известная ошибка в Grails 1.3.3.Узнайте больше об этом и найдите обходной путь в соответствующем билете JIRA GRAILS-6482 .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...