[rspec-users] Cucumber/Webrat fails to find fields when run after specs

Mike Gaffney mr.gaffo at gmail.com
Thu Feb 5 00:47:18 EST 2009


Are you running selenium or normal webrat (eg config.mode = :rails or 
config.mode = :selenium)?


Christopher Bailey wrote:
> On Wed, Feb 4, 2009 at 12:54 PM, aslak hellesoy 
> <aslak.hellesoy at gmail.com <mailto:aslak.hellesoy at gmail.com>> wrote:
>
>     On Wed, Feb 4, 2009 at 7:21 PM, Christopher Bailey
>     <chris at cobaltedge.com <mailto:chris at cobaltedge.com>> wrote:
>     > I've been battling the strangest behavior, and hoping someone
>     can shed some
>     > light...
>     > I am using RSpec for MVC tests, and then Cucumber for
>     stories/features.  I
>     > am new to Cucumber, and recently finished converting our RSpec
>     Story Runner
>     > suite to it.  What I'm seeing is that if I clean the database
>     (e.g. rake
>     > db:reset), then run all my specs, then run the features, Webrat
>     fails to
>     > find various fields on form pages.  If I run them in the reverse
>     order, with
>
>     Use puts response.body in the failing step definitions to see the html
>
>
> I'll do that (can't at the moment, but will next go-around).
>  
>
>
>     > features first, then specs, often times various specs fail
>     (seems somewhat
>     > random and odd in what may fail).
>
>     Sounds like you have residual data in your test database. Do you have
>     transactions turned on for both rspec and cucumber?
>     Do your features rely on specific data being in the database before
>     the run? How do you get it in there?
>
>
> I start with a clean DB, then run the specs.  At the end, data is left 
> in there.  I am running transactional RSpec specs as far as I know, 
> although maybe there's something explicit I need to do?  I thought 
> they were on by default.  I've noticed that data gets leftover between 
> tests a lot.  I see that I have transactional fixtures enabled (I 
> don't use any fixtures though - all my data is created by my own 
> factory methods/generators which are either run in before methods or 
> in the actual spec case).  I have Cucumber transactional turned on via 
> this line in env.rb:
>
> Cucumber::Rails.use_transactional_fixtures
>
> No features rely on any pre-existing data.
>  
>
>
>     Aslak
>
>     > I believe that if I clean the database between each, that things
>     work.  I
>     > did not previously have to do that with story runner.  But,
>     also, what I'm
>     > finding is that I can't seem to run rake db:reset twice in the
>     same rake
>     > task (due to Rake's usual not allowing that), so this makes
>     setting up a
>     > rake task for CruiseControl.rb hard, as it won't reset the DB a
>     second time.
>     >  I could probably just run it as a shell command, but that seems
>     like a
>     > terrible hack.
>     > I'm running into this both on MacOS X, and on my CI server which
>     is Ubuntu
>     > 8.04 running CruiseControl.rb
>     > (from git://github.com/benburkert/cruisecontrolrb.git
>     <http://github.com/benburkert/cruisecontrolrb.git>).  Has anyone else
>     > seen this kind of thing, any ideas?  My versions:
>     > ruby 1.8.6 (2008-03-03 patchlevel 114) [universal-darwin9.0]
>     > rails (2.2.2)
>     > rspec (1.1.11)
>     > rspec-rails (1.1.11)
>     > aslakhellesoy-cucumber (0.1.99.19)
>     > nokogiri (1.1.1)
>     > webrat (0.4.1)
>     > --
>     > Christopher Bailey
>     > Cobalt Edge LLC
>     > http://cobaltedge.com
>     >
>     > _______________________________________________
>     > rspec-users mailing list
>     > rspec-users at rubyforge.org <mailto:rspec-users at rubyforge.org>
>     > http://rubyforge.org/mailman/listinfo/rspec-users
>     >
>
>
>
>     --
>     Aslak (::)
>     _______________________________________________
>     rspec-users mailing list
>     rspec-users at rubyforge.org <mailto:rspec-users at rubyforge.org>
>     http://rubyforge.org/mailman/listinfo/rspec-users
>
>
>
>
> -- 
> Christopher Bailey
> Cobalt Edge LLC
> http://cobaltedge.com
> ------------------------------------------------------------------------
>
> _______________________________________________
> rspec-users mailing list
> rspec-users at rubyforge.org
> http://rubyforge.org/mailman/listinfo/rspec-users


More information about the rspec-users mailing list