Grails单元测试"CreateAlias"不起作用

alv*_*mfg 7 grails unit-testing grails-orm

我正在尝试对一个命名查询方法进行单元测试而且它没有工作,因为我使用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();
   }
}
Run Code Online (Sandbox Code Playgroud)

错误:没有方法签名:grails.gorm.CriteriaBuilder.createAlias()

Dav*_*ler 2

我们也无法弄清楚这一点;我们怀疑 GORM UnitTest 实现中缺少它。但如果您只想查询关联,在 Grails 中您不需要别名。观察:

\n\n
Book.createCriteria {\n    eq("title", "One Hundred Years of Solitude")\n    author {\n        eq("name", "Gabriel Garc\xc3\xada M\xc3\xa1rquez")\n    }\n}\n
Run Code Online (Sandbox Code Playgroud)\n