最初の投稿はこちらで、うまくいけば多くの人に関連しています。
私はドメインの統合テストを書くことに取り組んでおり、そのドメインではwithCriteria()
メソッドを使ってクエリを持っています。私はネット全体を検索し、基準クエリをモックする方法についての詳細な指示を与える多くを見つけましたが、正確にテストする方法はありません。
私はmockDomain(domain,list)
関数を使ってドメインをモックしようとしましたが、setUp()
で使用するテスト用のドメインを設定してから基準を呼び出すと何も得られません。
私はここで同様のfindBy
を行い、結果を得ましたが、私が探していたものは正確ではありません。私はそれが私の質問ではないと確信していますが、基準では、いくつかの場所の基準ではサービステストでは機能しません。これまでのクエリはアプリで私のために働いていましたが、コードベースが変更された場合に後で参照できるテストをしたいと思います。
私は実際に多くの人が提案し、クエリのコードを取り出し、それを使用するテストのためにそれを模擬できるように私のドメイン内の静的メソッドにしましたが、今は実際にこの部分をテストする方法に固執しています。私はアプリを実行し、その観点から機能テストを行う必要がありますか、またはgrailsユニット/統合テストでこれを行うことができる方法があります。私は以下のクエリを投稿します。
static Attribute getDefinitionsUsingCriteria(List categoryNames, List types){
def definitions = Definition.withCriteria() {
and {
'in'('type', types)
if (categoryNames) {
categories {
'in'('name', categoryNames)
}
}
}
}
return definitions
}
定義には文字列プロパティ型があり、このセットの各要素にString
nameプロパティがあるSet
型のプロパティカテゴリがあります。
私はまだgrailsにはかなり新しく、多くの参考書を読んでいます。私はこれまでに読んだすべての本にこれが欠けていることに驚いています。私はこれが私の部分の間違いであり、簡単にテストできるものであることを願っています。私はどんな助けにも感謝し、この長い記事を読んでいただきありがとうございます。
ジェイラ