2010-07-15 100 views
1

我在Grails 1.3.3的單元測試中很難嘲笑保存實例方法。我創建了一個名爲Person的簡單的域類,它有一個名爲「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 在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()的那個。

有誰知道我做錯了什麼?

+0

奇怪的是,它適用於1.3.2和1.3.1 ...我想我將不得不提交一份錯誤報告。 – 2010-07-15 20:35:10

回答

0

這是Grails 1.3.3中的一個已知錯誤。詳細瞭解它並在關聯的JIRA票證GRAILS-6482中找到解決方法。

+0

謝謝!解決方法爲我工作。 – 2010-07-15 20:52:47