ruby-on-rails - rspec中的赋值是什么意思

标签 ruby-on-rails rspec bdd

该行代码有什么作用?

assigns(:articles).should eq([article])

在以下rspec中
  describe "GET #index" do
    it "populates an array of articles" do
      article = Factory(:article)
      get :index
      assigns(:articles).should eq([article])
    end

    it "renders the :index view" do
      get :index
      response.should render_template :index
    end
  end

最佳答案

assigns与在 Controller Action 中创建(并分配给 View )的实例变量相关。

为了回答您的评论意见,我想:

  • 1)您的索引操作看起来像@articles = Articles.all(尽管我希望您使用分页)
  • 2)在上面的spec块之前,您已经在db中创建了一篇文章(或者希望您在db中查询db查询)
  • 1 + 2 => @articles应该包含一篇文章,这是您对规范的期望
  • 关于ruby-on-rails - rspec中的赋值是什么意思,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16133166/

    相关文章:

    c# - 对于 BDD/TDD 这种风格的改进有什么建议吗?

    c# - BDD Visual Studio 2015 有时当我添加新项目时我看不到 SpecFlow 功能文件

    java - 与用户一起编写 bdd cucumber 功能/场景的最佳实践

    ruby-on-rails - 为什么回调在 Ruby on Rails 中使用符号

    ruby-on-rails - WebMock.disable_net_connect!不工作

    ruby-on-rails - 使用 Rspec 和 Capybara 在 Rails 3 中测试 session

    ruby-on-rails - 更新 rspec gem 导致 'gem' 命令变得不稳定/有错误。帮助!

    ruby-on-rails - 路由错误 没有路由匹配

    ruby-on-rails - before_filter 与另一个 Controller

    ruby-on-rails - 将自定义国家/地区字段选项添加到 country_select ruby​​ on rails gem