1

いくつかの組み合わせを試しましたが、Grails の「where」クエリまたは「named-query」に依存するメソッドをテストできません。

ちなみに、Grails 2.0.3 を使用しています。

コード イン サービス

def findPersonInCity(name, city) {
    Person p = Person .where{fullname =~ name && cities.contains(city)}.find()
}

テスト

@Build([Person,City])
class PersonSpec    

    // code omitted

    def "Find a person by name"() {
        when:
        City city = City.build(name: "NY")
        Person.build(fullname: "test", city)
        Person found = personService.findPerson("test", city)

        then:
        found.name == "test"
    }    
}

「where」クエリまたは「named-queries」の単体テストを成功させるには何が欠けていますか?

私が得ているエラーは、関連するプロパティに関連しているようです。groovy.lang.MissingMethodException: メソッドの署名がありません: grails.gorm.CriteriaBuilder.cities() は引数の型に適用されます:

名前だけを照会すると、うまくいくようです.. :(

4

0 に答える 0