【问题标题】:Mock dynamic finder模拟动态查找器
【发布时间】:2012-09-20 13:02:56
【问题描述】:

在测试中我需要重写一些域类的函数,像这样

SomeDomain.countBySomeField(Paramater)

为了解决这个问题我试过了

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

但是当这个方法在控制器中调用(由测试调用)时,我所期望的不会发生。可能,你说去阅读文档,但我没有找到可以告诉我如何做到这一点的东西。我将不胜感激任何可以说我哪里错的文章或示例。

【问题讨论】:

    标签: unit-testing grails groovy grails-orm


    【解决方案1】:

    我这样做解决了我的问题

    @TestFor(SomeController)
    @Mock([SomeDomain])
    @TestMixin(DomainClassUnitTestMixin)
    class SomeControllerTests {
        ...
        void test() {
            SomeDomain.metaClass.'static'.countBySomeParam = { a -> 0}
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-28
      • 2011-08-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-10
      • 2011-12-24
      • 1970-01-01
      相关资源
      最近更新 更多