我正在尝试为submit
文件中的app/controllers.sample.rb
方法编写Rspec测试用例。
User
类在lib/classes
文件夹中定义。在User
session.rb
文件中创建app/controllers/concerns
对象,该文件在创建新会话期间自动加载。
user
中的session.rb
方法从其他API获取用户参数。
在这里,我发现使用Rspec创建User
对象很困难,它总是在
list = user.get_list
我已经提供了我为测试用例编写的示例代码集。
任何人都可以帮助如何在User
中从rspec实例化concerns/session.rb
对象吗?
应用/控制器/关切/ session.rb
def user
if user
user
else
begin
rest_resource = RestClient::Resource.new(ENV['SESSION_API'], :verify_ssl => false)
data = rest_resource.get Authorization: request.headers['Authorization']
rescue RestClient::Exception => e
@error = JSON.parse(e.response, symbolize_names: true)
return nil
end
self.user = User.new(current_user,request.headers['Authorization'] )
end
end
规格/控制器/ rspec_sample.rb
describe "Submit" do
it "Submit and expects to succeed" do
allow_any_instance_of(Concerns::Session).to receive(:current_user).and_return(name: "test")
allow_any_instance_of(Concerns::Session).to receive(:user).and_return(name: "test")
post :submit, params
expect(response).to have_http_status(200)
end
end
应用/控制器/ sample.rb
def submit
list = user.get_list
end
LIB /类/ user.rb
class User
def list
return values
end
end