Обычно в подобных ситуациях вы будете высмеивать части кода, которые подключаются за пределами вашего приложения. Это позволяет вам проверить ожидаемые результаты от службы / системы, к которой вы подключаетесь. Также быстрее запускать тесты.
Здесь есть краткое руководство по издевательству с помощью rspec здесь , но я уверен, что вы сами найдете много.
Для проверки того, что письма отправляются, существуют другие подходы, если вы отправляете через ActionMailer. Об этом есть в руководстве по испытанию рельсов .
РЕДАКТИРОВАТЬ (в ответ на комментарий):
Вы можете поместить метод в TestHelper
, чтобы запускать тесты только в режиме онлайн. Что-то вроде:
def when_online
if test_remote_connectivity
yield
else
puts "Skipping test offline."
end
end
Тогда вы можете назвать это как:
def test_facebook
when_online do
.....
end
end
Не уверен, что я полностью защищаю это, но это может сделать то, что вы хотите!