0

Spock Integration Spec 内のドメイン クラスで gorm find メソッドを使用しようとしています。

私のコード:

class myDomainClassSpec extends IntegrationSpec{
    ...
    def 'my test'() {
        when: ...
        then:
            MyDomainClass.find { id == 1 }
    }
    ...
}

これは失敗し、次をスローします。

groovy.lang.MissingPropertyException: No such property: id for class: grails.gorm.DetachedCriteria

代わりにコーディングすると、 MyDomainClass.findAll().find { id == 1 } が機能します。

何か案は??

4

1 に答える 1

0

ここで Spock がどのように機能するかは正確にはわかりませんが、呼び出しがDetachedCriteriaMyDomainClass.findを作成しているように見えます。

MyDomainClass.findById(1)

または、より複雑な基準を使用している場合は、次のいずれかを試してください

MyDomainClass.where { id == 1 }

または単に基準を使用する

(MyDomainClass.createCriteria()) { id == 1 }
于 2012-11-19T23:11:55.333 に答える