Grails test-app Ошибка создания компонента с именем 'grailsDatastore' - PullRequest
0 голосов
/ 16 декабря 2018

Я пытаюсь создать тесты для объектов домена.Тест прост, см. Ниже.Однако он выдает ошибку

Ошибка создания компонента с именем 'grailsDatastore'

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 голосов
/ 17 декабря 2018

Вы не предоставили достаточно информации, чтобы точно знать, что не так с вашим проектом.

См. Проект на 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(), приведенный выше код демонстрирует, как это сделать.

...