所以我写了一个有功能的模块。现在我正在尝试测试该功能。我的问题是,我如何使用模拟或存根等来测试随机用户 ID,我们从函数中获取对 github 的请求并将自定义 json 返回给函数。?
正在测试的模块:
require 'json'
require 'httparty'
module util
GITHUB_URL = 'http://github.com/'
def get_name(id)
begin
response = HTTParty.get("#{GITHUB_URL}#{id}.json")
data = JSON.parse(response.body)
return data.first['actor_attributes']['name']
rescue Exception => e
return nil
end
end
end
我的 Rspec 文件:
# coding: UTF-8
require 'spec_helper'
class DummyClass
end
describe 'GET_NAME' do
before(:each) do
@dummy_class = DummyClass.new
@dummy_class.extend(util)
end
context 'for invalid Github ID' do
it 'return nil' do
expect(@dummy_class.getName('invalid')).to be_nil
end
end
end
谢谢大家的帮助。