ruby-on-rails – Rails RSpec:控制器测试,检查是否错误如果由于验证错误而无法创建新记录,则模型数组中填充了条目

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – Rails RSpec:控制器测试,检查是否错误如果由于验证错误而无法创建新记录,则模型数组中填充了条目前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我还有一个非常简单的Rails应用程序,我希望使用带有Cucumber的BDD和带有RSpec的TDD来开发.目前,我正在考试,我想检查是否由于验证错误而无法创建组织者的新实例(我的模型).我想检查要创建的对象的错误数组是否为空,以便我可以确保错误消息可用于在视图中显示它们.

需要’spec_helper’

描述OrganizersController做的
render_views

describe "POST 'create'" do

  describe "with invalid arguments" do
    before(:each) do
      request.env["HTTP_REFERER"] = organizers_new_path
      @organizer_args = { :name => "" }
    end      

    it "should return a non-empty list of errors" do
      post 'create',:organizer => @organizer_args
      @organizer.errors.empty?.should_not be_true
    end
  end
end

结束

我正在开发基于Rails 3.2.9的RSpec 2和cucumber-rails.

任何建议表示赞赏.谢谢!

解决方法

您应该使用assigns方法从控制器操作中获取实例变量:
assigns(:organizer).errors.empty?.should_not be_true

猜你在找的Ruby相关文章