В RSpec я хочу заменить аргумент на вызов метода - PullRequest
0 голосов
/ 30 января 2012

Мое приложение использует метод OpenURI open() для извлечения веб-страницы.

В моей спецификации я хочу иметь возможность заменить URL-адрес, переданный в open, на путь локального файла.

Итак, при вызове open('http://www.google.com') я хочу переключить этот URL-адрес на /path/to/file.

Есть ли встроенный способ сделать это в RSpec?

Ответы [ 2 ]

1 голос
/ 30 января 2012

Я не думаю, что rspec предоставит что-либо для достижения этой цели. Вам лучше добавить параметр в метод, который вызывает open() в вашем приложении. Это сделает код многоразовым.

Если код приложения не может быть изменен, вы можете попробовать переписать метод open(), чтобы заменить параметр в вашем скрипте rspec.

0 голосов
/ 30 января 2012

Если вы планируете писать тесты для удаленных URL, я бы посоветовал взглянуть на следующее:

WebMock: https://github.com/bblimke/webmock

VCR: https://github.com/myronmarston/vcr

...