在我的应用程序中,我有一个主题 Controller ,我需要编写一个测试用例来创建一个新主题。创建新话题后,会跳转到新创建话题的展示页面,并提示“话题创建成功!”。我需要编写一个测试用例来检查显示的通知是否正确使用 rspec。我有主题 Controller :
def create
@topic = Topic.new(topic_params)
if (@topic.save)
redirect_to @topic, :notice => 'Topic was created successfully!'
else
render :action => 'new'
end
end
主题 Controller 规范:
it "should create new Topic and renders show" do
expect {
post :create,params:{ topic:{topicname: "Tech"} }
}.to change(Topic,:count).by(1)
expect(response).to redirect_to(topic_path(id: 1))
/// expect().to include("Topic was created successfully!")
end
我已经编写了重定向到显示页面的测试用例。但是我坚持检查我在代码中的评论中提到的通知。
最佳答案
你应该做这样的事情
expect(flash[:notice]).to match(/Topic was created successfully!*/)
关于ruby-on-rails - 如何使用 rspec 为通知消息编写测试用例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52143826/