Rspec 具有多按钮形式
我正在 Rails 中构建一个简单的博客,并有一个带有多个按钮的表单。一个按钮允许某人保存草稿,另一个按钮允许某人发布帖子。
一个按钮有一个用于保存草稿的名称,另一个按钮有一个用于发布帖子的名称。如果发布参数存在,它将执行发布模型中的发布函数。
在控制器中,
post.publish unless !params[:publish]
我如何使用 rspec 来测试是否存在发布参数,它将调用模型上的发布操作?
I am building a simple blog in rails and have a form with multiple buttons. One button allows someone to save a draft, and another allows someone to publish a post.
One button has a name for saving the draft, and another has a name to publish the post. If the publish param is present, it will execute the publish function in the post model.
In the controller I have
post.publish unless !params[:publish]
How do I use rspec to test that if the publish param is present that it will call the publish action on the model?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
嗯,这取决于。如果您使用水豚进行集成测试,您只需说出应单击哪个按钮即可。但我想,你有一个控制器。因此,
您不需要这样做
实际上,按钮的值(标签)将作为 params[:publish] 的值提交,因此您可能需要传递该按钮的真实标签如
:发布
。Well, it depends. If you do integration testing using capybara, you just say which button shall be clicked. But I guess, you have a controller. So instead of
you need to do
In reality, the value (label) of the button will be submitted as the value of
params[:publish]
, so you might want to pass the real label of that button as:publish
.