tom*_*nek 0 ruby rspec ruby-on-rails stub
我有以下代码:
Group.where('name ~* ?', params[:name]).first
Run Code Online (Sandbox Code Playgroud)
where在那种情况下如何存根方法?
Group.stub(:where).and_return(mock_model(Group, name: "SomeName"))
Run Code Online (Sandbox Code Playgroud)
导致错误:
Mock "Group_1001" received unexpected message :first with (no args)
Run Code Online (Sandbox Code Playgroud)
在你的情况下,你应该返回响应的东西first.数组是一个不错的选择.
Group.stub(:where).and_return([mock_model(Group, name: "SomeName")])
Run Code Online (Sandbox Code Playgroud)
您可以使用stub_chain存根既where和first,然后返回你的对象:
Group.stub_chain(:where, :first).and_return(mock_model(Group, name: "SomeName"))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2547 次 |
| 最近记录: |