Вы можете просто переименовать ваш setup
метод и вызвать его на вашем given
шаге.
В Споке также есть ключевое слово setup
. Имеет то же значение, что и given
.
Например, вот так:
class Test extends Specification {
void setupMock() {
GroovyMock(Utils, global: true)
Utils.getRemoteBranches(*_) >> new ArrayList<String>()
}
void "testWithMock"() {
given:
setupMock()
Object context = getContext()
when:
// ...
void "testWithoutMock"() {
given:
Object context = getContext()
when:
// ...
}
В некотором смысле, я согласен с комментарием относительно читаемости тестов, если тесты без Mock относительно важны, вам следует рассмотреть возможность создания отдельного Specification
.