У меня есть спецификация, которая по сути выглядит так:
def "my example specification"(){
given:"some mocked object which depends on a object created in the where clause"
def display = mockDisplay()
and:"a activityt"
def activity = new ConfigActivity(display)
when:
activity.doStuff()
then:
1 * display.select()
where:
dependency << new Dependency()
}
private mockDisplay() {
def display = Mock(ConfigActivity.Display)
display.addDependency(dependency)
return display
}
Я понимаю, что метод "mockDisplay ()" выходит за рамки предложения "where". Однако, поскольку некоторые спецификации имеют тенденцию запутываться в шаблонном коде (не в этом слишком упрощенном примере), мне действительно нужен какой-то способ повторного использования моих «заданных» утверждений, и при этом я действительно хотел бы использовать Спок, где "пункты, а также.
Это выполнимо? Или есть другой способ решить эту проблему?