Макет URI.parse для скрепки в Rspec - PullRequest
0 голосов
/ 17 мая 2018

Я постоянно работаю со службой, которая использует URI.parse и сохраняет это изображение с помощью скрепки.

Это то, что у меня есть до сих пор.

uri = URI.parse("http://example.com/my_image.jpg")

Image.new do |image|
  image.attachment = uri
  image.attachment_file_name = "image.jpg"
  image.attachment_content_type = "image/jpg"
end

это прекрасно работает иЯ не сталкиваюсь с какими-либо ошибками.

Я пытаюсь провести несколько тестов в rspec, но я не знаю, как это смоделировать URI.parse и заставить его работать.

Спасибо

Ответы [ 2 ]

0 голосов
/ 17 мая 2018

Я решил это, переместив URI.parse к новому методу и напрямую насмехаясь над этим методом allow(MyService).to receive(:my_method) { File.new }

0 голосов
/ 17 мая 2018

https://relishapp.com/rspec/rspec-mocks/v/2-99/docs/method-stubs

В вашей спецификации попробуйте

allow(URI).to receive(:parse).with(anything()).and_return bla

Где бла - это то, что вы хотите, чтобы метод возвратил

...