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