3

プロジェクトでドメイン クラスの統合テストを作成しようとしています。ただし、テストを実行するたびに、いくつかのエラーが発生しました。

私のコードは以下の通りです:

class ProductIntegrationTest extends GroovyTestCase {

    void testSave() {
        def product = new Product(name: "phone")
        product.save(flush: true, failOnError: true)
        assert.....
    }
}

テストを実行した後、例外は次のとおりです。

groovy.lang.MissingMethodException: No signature of method: Product.save() is applicable for argument types: () values: []
Possible solutions: save(), save(boolean), save(java.util.Map), wait(), last(), any()

しかし、@TestFor(Product)ドメインクラスにアノテーションをつけたらエラーはなくなりました。統合テスト用のドキュメントに@TestForは、単体テスト用であるため、注釈を付けることができないことがわかりました。

誰でも何か分かりますか?

4

2 に答える 2

2

遅い答えですが、今日これに遭遇しました。考えられる問題の 1 つは、ディレクトリ内の別のテストtest/integrationが拡張されていることGrailsUnitTestCaseです。を実行するgrails test-app integrationと、後続のテストで問題が発生しますが、不適切に拡張されたテストでは問題が発生しませんGrailsUnitTestCase。これらのクラスを に移動するtest/unitか、拡張子を に変更すると、GroovyTestCaseこの問題が修正されます。

于 2014-01-10T18:46:19.060 に答える