8

Cucumber で BDD を使用し、RSpec で TDD を使用して開発したいまだ非常に単純な Rails アプリケーションがあります。現在、検証エラーのためにオーガナイザー (私が持っているモデル) の新しいインスタンスを作成できないかどうかを確認するテストに取り組んでいます。作成するオブジェクトのエラー配列が空でないことを確認して、エラー メッセージをビューに表示できることを確認したいと思います。

「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      

終わり

RSpec 2 と cucumber-rails を使用した Rails 3.2.9 に基づいて開発しています。

任意の提案をいただければ幸いです。ありがとう!

4

3 に答える 3

16

コントローラのアクションからインスタンス変数を取得するには、assignsメソッドを使用する必要があります。

assigns(:organizer).errors.empty?.should_not be_true
于 2012-12-28T09:41:05.610 に答える
11

最新の優先構文は次のとおりです。

expect(assigns(:organizer).errors.empty?).to_not be_true
于 2013-07-02T05:00:36.870 に答える