Как смоделировать утилитарные классы в тестировании сервисов 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...
}