8

我正在尝试对命名查询方法进行单元测试,但它不起作用,因为我正在使用 Grails 似乎找不到的方法 grails.orm.HibernateCriteriaBuilder.createAlias:“没有方法签名: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()

4

1 回答 1

2

我们也想不通。我们怀疑它只是在 GORM UnitTest 实现中丢失了。但是如果你只想查询一个关联,在 Grails 中你不需要别名。观察:

Book.createCriteria {
    eq("title", "One Hundred Years of Solitude")
    author {
        eq("name", "Gabriel García Márquez")
    }
}
于 2012-11-16T16:15:41.450 回答