I thought be_something is actually handled by rspec class Be. be_blank essentially asks the object blank? predicate. Not that there is a "be_blank" method declared anywhere.
Anyway, require 'spec/expectations' doesn't solve the problem. I will look into this. Thanks Yi On Thu, Mar 19, 2009 at 10:59 AM, Pat Maddox <[email protected]> wrote: > 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 > -- http://yiwenandsoftware.wordpress.com
_______________________________________________ rspec-users mailing list [email protected] http://rubyforge.org/mailman/listinfo/rspec-users
