我正在使用rails构建一个简单的博客,并且有一个带有多个按钮的表单。一个按钮允许某人保存草稿,另一个按钮允许某人发布帖子。
一个按钮具有保存草稿的名称,另一个按钮具有发布帖子的名称。如果存在发布参数,它将在后期模型中执行发布功能。
在控制器中我有
post.publish unless !params[:publish]
如果存在发布参数,它将在模型上调用发布操作,我如何使用rspec来测试?
答案 0 :(得分:0)
嗯,这取决于。如果您使用水豚进行集成测试,您只需说明要点击哪个按钮。但我想,你有一个控制器。而不是
post :create, :post => {...}
你需要做
post :create, :post => {...}, :publish => "Publish"
实际上,按钮的值(标签)将作为params[:publish]
的值提交,因此您可能希望将该按钮的真实标签传递为:publish
。