Как смоделировать утилитарные классы в тестировании сервисов Grails

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 ответ

Описанный сценарий может быть улучшен путем предоставления возможности вводить помощника в службу, что, как правило, является лучшей идеей. Однако, чтобы ответить на вопрос в том виде, в котором он задан, вы можете получить его, используя метапрограммирование во время выполнения. Особенности могут зависеть от факторов, не указанных в вопросе, но вы можете сделать что-то подобное в тесте...

UtilClass.metaClass.utilFunc = { ->
    // put your test behavior here...
}
Другие вопросы по тегам