Я новичок в RSpec, так что медведь со мной!Rspec - издевательство над методом в другом классе
Вот мой код.
TestFile:
before(:all) do
@package = Package.new("testing")
@param_source = "cat #{root}/file/test.json"
end
"it should update the version params appropriately" do
group_params = mock("params")
group_params.expects(:each).multiple_yields([["staging", @param_source]])
@package.update_version(group_params)
# Some assertions here
end
Класс файла:
class Package
def initialize(db_file)
# Some http options set for httparty
end
def update_version(group_params)
group_params.each do |environment, param_source|
group_json = JSON.parse(HTTParty.get(param_source, @http_cred))
# Bunch more stuff done here
end
В принципе, у меня есть test.json, что я хочу использовать, чтобы убедиться, что все становится корректно распознаны. Этот вызов HTTParty.get ожидает, что GET-вызов будет выполнен. Есть ли способ, которым я могу издеваться над этим с переменной param_source
. Пожалуйста, дайте мне знать, если мне нужно предоставить дополнительную информацию здесь. Спасибо за помощь!
У меня есть 3 запроса http-запроса с различными ответами. Как я могу заглушить все три с помощью '' allow (HTTParty) .to получать (: get) .and_return (file_content) ''. Могу ли я использовать URL-адрес запроса в приведенном выше синтаксисе? – Santanu