elf*_*elf 2 ruby rspec ruby-on-rails
我正在尝试测试接收命名参数的方法调用,如下所示:
expect(@fake_task_search).to receive(:search).with({:query=>"a"})
@repo.all({query: "a"})
Run Code Online (Sandbox Code Playgroud)
和 SUT
def all(params)
@search_task.search(query: params[:query]).load
end
Run Code Online (Sandbox Code Playgroud)
当我运行这个时,我收到了这个:错误数量的参数(0 代表 1)。
任何帮助都会很棒。
谢谢
以与调用方法相同的方式调用匹配器 .with(query: "a")
class Repo
def initialize(search_task)
@search_task = search_task
end
def all(params)
@search_task.search(query: params[:query])
end
end
it "calls" do
@search_task = SearchTask.new
@repo = Repo.new(@search_task)
expect(@search_task).to receive(:search).with(query: "a")
@repo.all({query: "a"})
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4532 次 |
| 最近记录: |