Right, you need to add require 'spec/expectations' because Cucumber doesn't know about RSpec's matchers by default.
Pat 2009/3/19 Yi <[email protected]>: > This is my env.rb > > # Sets up the Rails environment for Cucumber > ENV["RAILS_ENV"] ||= "test" > require File.expand_path(File.dirname(__FILE__) + > '/../../config/environment') > require 'cucumber/rails/world' > require 'cucumber/formatters/unicode' # Comment out this line if you don't > want Cucumber Unicode support > Cucumber::Rails.use_transactional_fixtures > > require 'webrat' > > Webrat.configure do |config| > config.mode = :rails > config.application_address= "myapp.local" > end > > require 'cucumber/rails/rspec' > require 'webrat/core/matchers' > > > The only thing different is: > config.application_address= "myapp.local" > > I tried to comment out this line and it didn't help anyway. > > I did script/generate cucumber and it didn't help. :( > > Yi > > 2009/3/19 aslak hellesoy <[email protected]> >> >> >> 2009/3/19 Yi <[email protected]> >>> >>> I have a step definition like this: >>> >>> Then "the account should be created" do >>> account = Account.find_by_name("my shiny new account") >>> p account.class >>> account.should_not be_blank >>> end >>> >>> When running this step, I got the error message: >>> >>> Account(id: integer, name: string, state: string, next_renewal_at: date, >>> created_at: datetime, updated_at: datetime, full_domain: string, deleted_at: >>> datetime, subscription_discount_id: integer, subscription_plan_id: integer) >>> >>> And the account should be created # >>> features/step_definitions/create_account_steps.rb:31 >>> undefined method `be_blank' for >>> #<ActionController::Integration::Session:0x349994c> (NoMethodError) >>> features/create_account.feature:10:in `And the account should be >>> created' >> >> The #be_blank method is defined by a module under 'rspec/matchers'. This >> module is automatically included in ActionController::Integration::Session >> if you have the following in your env.rb: >> >> require 'spec/expectations' >> >> Do you? If you just upgraded to Cucumber 0.2 you should probably >> rebootstrap Cucumber with: >> >> script/generate cucumber >> >> Aslak >> >>> >>> I print out the account class, which is a AR::B. Why cucumber tells me it >>> is a ActionController::Integration::Session? >>> >>> I use cucumber 0.2 and rspec 1.2 with Rails 2.3.2 >>> >>> Thanks >>> >>> Yi >>> -- >>> http://yiwenandsoftware.wordpress.com >>> >>> _______________________________________________ >>> rspec-users mailing list >>> [email protected] >>> http://rubyforge.org/mailman/listinfo/rspec-users >> >> >> >> -- >> Aslak (::) >> >> _______________________________________________ >> rspec-users mailing list >> [email protected] >> http://rubyforge.org/mailman/listinfo/rspec-users > > > > -- > http://yiwenandsoftware.wordpress.com > > _______________________________________________ > rspec-users mailing list > [email protected] > http://rubyforge.org/mailman/listinfo/rspec-users > _______________________________________________ rspec-users mailing list [email protected] http://rubyforge.org/mailman/listinfo/rspec-users
