0

テストでは、このようないくつかのドメインクラスの関数をオーバーライドする必要があります

SomeDomain.countBySomeField(Paramater)

これを解決するために私は試しました

@Mock([SomeDomain])
class SomeDomainTests ...
...
    void test() {
        SomeDomain.metaClass.static.countBySomeField = { -> 1}
    }

しかし、このメソッドが(テストによって呼び出された)コントローラーで呼び出すと、私が期待することは起こりません。おそらく、あなたはドキュメントを読みに行くと言いますが、私はこれを行う方法を教えてくれる何かを見つけられませんでした。どこが間違っているかを教えてくれる記事や例に感謝します。

4

1 に答える 1

4

私はこれを行うことで私の問題を解決します

@TestFor(SomeController)
@Mock([SomeDomain])
@TestMixin(DomainClassUnitTestMixin)
class SomeControllerTests {
    ...
    void test() {
        SomeDomain.metaClass.'static'.countBySomeParam = { a -> 0}
    }
}
于 2012-09-20T13:49:40.563 に答える