8

名前付きクエリメソッドで単体テストを実行しようとしていますが、Grailsで検出されないように見えるメソッドgrails.orm.HibernateCriteriaBuilder.createAliasを使用しているため、機能しません。 "メソッドのシグネチャがありません:grails。 gorm.CriteriaBuilder.createAlias() "

問題は、単体テストを作成してクラスをモックするときに、grails.orm.HibernateCriteriaBuilderクラスではなく、「 grails.gorm.CriteriaBuilder」クラスの周りのメソッドを見つけようとしていることだと思います。なぜですか?それを解決するためのアイデアはありますか?

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 に答える