我在控制器中创建了一些公共方法,它做了一些工作。
def current_service
service_name = params[:controller].gsub('api/v1/', '').gsub(%r{/.+}, '')
end我想使用RSpec测试这个方法,但我不知道如何使用存根参数。我该怎么做呢?
发布于 2016-07-28 15:07:04
如果这是一个控制器规范,你应该能够这样做:
allow(controller).to receive(:params).and_return({controller: 'a value'})或者,将params[:controller]语句移到一个单独的方法中,并将其存根到您的规范中。
发布于 2019-07-18 16:37:04
对于强参数,可以将它们存根,如下所示:
params = ActionController::Parameters.new(foo: 'bar')
allow(controller).to receive(:params).and_return(params)https://stackoverflow.com/questions/38629220
复制相似问题