ruby-on-rails – rspec测试一个控制器,将我的参数从符号更改为
发布时间:2020-12-16 20:07:33 所属栏目:百科 来源:网络整理
导读:在我的控制器规范中我这样做: it "should create new message" do Client.should_receive(:create).with({:title = 'Mr'}) post 'create',:client = {:title = "Mr" }end …在我的控制器我在做… def create client = Client.create(params[:client])end 但
在我的控制器规范中我这样做:
it "should create new message" do Client.should_receive(:create).with({:title => 'Mr'}) post 'create',:client => {:title => "Mr" } end …在我的控制器我在做… def create client = Client.create(params[:client]) end 但是,这是失败的,并显示以下错误消息: expected: ({:title=>"Mr"}) got: ({"title"=>"Mr"}) 我想知道为什么会发生这种情况,以及如何让它工作 解决方法
这是因为你传递一个符号,而不是一个字符串.这应该解决它:
it "should create new message" do Client.should_receive(:create).with({:title => 'Mr'}) post 'create',:client => {"title" => "Mr" } end 这是一个关于它的博客:“Understanding Ruby Symbols” (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |