我正在尝试编写测试以查看我的医院模型是否正在接收自定义方法look_for_hospitals。
这是测试:
free
这是我的模特:
Rspec.describe HospitalsController, type: :controller do
describe '#search' do
it 'should call the model method to do the search' do
# model should implement method look_for_hospitals
expect(Hospital).to receive(:look_for_hospitals).with('keyword')
# form in search page must be named 'keywords'
get :search, params: {:keywords => 'keyword'}
expect(assigns(:hospitals))
end
end
这是HospitalsController中的方法搜索:
class Hospital<ApplicationRecord
def self.look_for_hospitals term
end
end
运行测试时,这是我遇到的错误:
def search
keyword = params[:keywords]
@hospitals = Hospital.look_for_hospitals(keyword)
end
我知道还没有实现任何东西,但是我正在尝试先编写测试再编写方法的tdd方法。 抱歉,如果我的英语有点奇怪,而不是说英语的人。
谢谢!
答案 0 :(得分:2)
正如汤姆·洛德(Tom Lord)所指出的那样,问题出在主计长开始时的before_action
行中。我只需要存根即可,问题就解决了。