我正在尝试对namedquery方法进行单元测试而且它不起作用,因为我使用grails.orm.HibernateCriteriaBuilder.createAlias这个方法似乎没有被Grails找到:“没有方法的签名:grails.gorm.CriteriaBuilder.createAlias()“
我想问题是,在进行单元测试和模拟类时,它试图找到围绕“ grails.gorm.CriteriaBuilder ”类而不是 grails的方法。 orm.HibernateCriteriaBuilder 类,为什么?任何解决它的想法?
class Book{
static namedQueries = {
testMethod()
{
createAlias('name', 'james')
}
}
}
@Mock([Book])
class BookTests{
@Test
void myTest() {
Book.testMethod();
}
}
错误:没有方法签名:grails.gorm.CriteriaBuilder.createAlias()
答案 0 :(得分:2)
我们也无法弄清楚这一点;我们怀疑GORM UnitTest实施中缺少它。但是,如果您只想查询关联,那么在Grails中您不需要别名。观察:
Book.createCriteria {
eq("title", "One Hundred Years of Solitude")
author {
eq("name", "Gabriel García Márquez")
}
}