2

ドキュメントに従って、GORM メソッド findAll("query", [params], [pagination]) を使用しています: http://grails.org/doc/latest/ref/Domain%20Classes/findAll.html

実行時には問題なく動作しますが、統合テスト中は使用できません。findAll('query', [params])findAll('query')メソッドしか利用できないようです。

詳細:

クエリ:

MyDomain.findAll("From MyDomain as domain Where domain.something = :something", [something:aThing], [max:10])

テスト設定:

統合テストを通じてこのメソッドを実行します( test/integrationの下で、私のテストクラスはGroovyTestCaseを拡張します)

環境: grails 1.3.7、mac osx を使用しています

スタックトレース:

次のエラーが表示されます: メソッドの署名がありません: abcdeMyDomain.findAll() は引数の型に適用できます: (java.lang.String, java.util.LinkedHashMap, java.util.LinkedHashMap) 考えられる解決策: findAll(), findAll( java.lang.Object)、findAll(java.lang.Object、java.util.Map)、findAll(groovy.lang.Closure)。

それを再現するには:

class MyTestClass extends GroovyTestCase{

void testFindAllFailsWithThreeParameters(){

  Domain.findAll('From Domain as domain where domain.property = :value', [value:value],[max:10])

 }
}

よろしくお願いいたします。

ヴィンセント

4

1 に答える 1

0

テスト環境と実行時に同じデータ ソースを使用していますか?

そうでない場合、使用している方法がそのデータ ソースでサポートされていない可能性があります。たとえば、メモリ内データベースと実稼働用の MySQL を再度テストするなどです。

于 2011-07-20T22:06:43.803 に答える