如何在grails服务单元测试中模拟util类

时间:2016-03-28 08:34:15

标签: unit-testing grails grails-services grails-3.0.10

class PropertyDetailsServiceSpec extends Specification {
void "test one"(){
    when:
    Map pdData = service.buildViewData()
    then:
    pdData != null
}
}

class PropertyDetailsService{
    buildViewData(){
      UtilClass obj=new UtilClass();
      obj.utilFunc();
    }
}

我想模拟utilFunc方法我该怎么做? grails版本:3.0.10

1 个答案:

答案 0 :(得分:2)

通过允许将帮助程序注入服务可以改进所描述的场景,这通常是更好的主意。但是,要解决所提出的问题,您可以使用运行时元编程实现目标。我的具体细节取决于问题中没有表达的因素,但你可以在测试中做这样的事情......

UtilClass.metaClass.utilFunc = { ->
    // put your test behavior here...
}