Rails 3.1.3 rspec latest I have started using rspec a few days ago, although I had been developing in Rails for a while.
I have developed a Rails application without thinking about tests at all, but recently realized the importance of BDD. The application has models and controllers that are already in action. They work fine up to this point. then I installed rspec and rspec-rails. I have questions about controller functional test. The original index of controller is def index @gives = Give.all respond_to do |format| format.html # index.html.erb format.json { render json: @gives } end end The generated default controller_spec.rb is describe "GET index" do it "assigns all gives as @gives" do give = Give.create! valid_attributes get :index, {}, valid_session assigns(:gives).should eq([give]) end end fixtures/gives.yml is one: check_in: true weight: 4 user_id: 2 day_departure: "2012-12-01" flight_name_id: 3 with the command rake db:fixtures:load If I run command bundle exec rspec spec/controllers/gives_controller_spec.rb All tests fail. and the error corresponding to index is 1) GivesController GET index assigns all gives as @gives Failure/Error: give = Give.create! valid_attributes ActiveRecord::RecordInvalid: Validation failed: Flight name can't be blank, Day departure can't be blank, Check in can't be blank, Weight can't be blank, User can't be blank # ./spec/controllers/gives_controller_spec.rb:39:in `block (3 levels) in <top (required)>' Questions: 1. Doesn't rspec generate default test codes so that the test will succeed? 2. Can you guess the cause of the error? 3. Doesn't rspec pick up the data from fixtures automatically? (perhaps I misunderstand the role of fixtures) soichi
_______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users