创建名称为“ grailsDatastore”的bean时发生Grails test-app错误

时间:2018-12-16 02:32:31

标签: grails gorm

我正在尝试为域对象创建测试。测试很简单,请参见下文。但是它引发了错误

创建名称为'grailsDatastore'的bean时出错

class AccountSpec extends Specification implements DataTest {

    void setupSpec(){
        mockDomain Account
    }

    void "test basic persistence mocking"() {
            setup:
            def account = new Account(name: 'Robert Fripp', username: "robert", password: "robert", email: "robert@mail.com").save(flush:true)

            expect:
            Account.count() == 1
        }

}

1 个答案:

答案 0 :(得分:0)

您没有提供足够的信息来确定您的项目出了什么问题。

查看位于https://github.com/jeffbrown/mcroteauaccount的项目。其中包含一个测试,该测试可以完成您尝试做的事情:

https://github.com/jeffbrown/mcroteauaccount/blob/2110545083b3b41dca61eb77f1e4d5dfccc8508a/src/test/groovy/mcroteauaccount/AccountSpec.groovy

package mcroteauaccount

import grails.testing.gorm.DataTest
import spock.lang.Specification

class AccountSpec extends Specification implements DataTest {

    void setupSpec() {
        mockDomain Account
    }

    void "test basic persistence mocking"() {
        setup:
        def account = new Account(name: 'Robert Fripp', username: "robert", password: "robert", email: "robert@mail.com").save(flush: true)

        expect:
        Account.count() == 1
    }
}

该测试可以编译,运行和通过。如果您的问题是如何编写一个保存实例的测试,然后验证该实例是否包含在Account.count()返回的内容中,则上面的代码演示了该操作。