Тестирование метода с выходом с использованием rspec - PullRequest
3 голосов
/ 11 апреля 2020

У меня есть метод, который дает. Я проверяю это для двух условий.

1), если это дает (я успешно могу сделать это, используя сопоставление доходности)

2), если это не дает. (Это где любая помощь в правильном направлении будет оценена.)

Метод:

def example_method
  yield if block_given?
end

Спецификации:

it 'yields to a block' do
  expect{ |b| example_method(&b) }.to yield_with_no_args
end

it 'does not yield if a block is not given' do
end

Первая передача c проходит успешно, но для второго спе c я не уверен, как поступить, так как совпадение доходности потребовало бы, чтобы блок был передан, и если бы блок был дан, он прошел бы, тогда как я хочу проверить его на предмет отсутствия, если блок не указан.

Спасибо!

1 Ответ

1 голос
/ 11 апреля 2020

Попробуйте что-то вроде

expect { example_method }.to_not yield_control
...