Rspec: не могу понять метод "and_raise" - PullRequest
3 голосов
/ 12 августа 2010

Вот мой код:

account_double.should_receive(:withdraw).and_raise

Я получаю вывод:

1) Statement uses the customer's name in the header
Failure/Error: Unable to find matching line from backtrace
Exception
# ./spec/codebreaker/test.rb:8:in `generate'
# ./spec/codebreaker/test.rb:20
# /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `inject'

Не удается найти исключение.Как я могу пройти этот тест?

Я не понимаю картину

1 Ответ

6 голосов
/ 15 августа 2010

Попробуйте добавить аргумент в and_raise - либо класс Exception, либо строку для передачи в RuntimeError

Из документов:

Указывает макету вызывать исключение вместо возврата значения. может быть любой класс исключения, экземпляр любой класс исключения или строка (в этом случае будет вызвано RuntimeError с этой строкой в ​​качестве сообщения).

account_double.should_receive(:withdraw).and_raise(Exception)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...