Aslak, I have admit, when I saw the option: testunit, I was just curious as to what it would do .....assumed it would be something additional...I guess
we have some critical legacy unit/integration tests that will probably survive forever. but going forward everything is rspec and cucumber in cucumber steps, I'm only using rspec assertions/matchers we do have some complex test setup requirements that we are currently satisfying with methods in rspec -- shared with cucumber steps. ..that seems to work, but is slow of course may try to replace with some pickle / machinist, not sure thanks again, -doug. On Dec 25, 5:51 pm, aslak hellesoy <[email protected]> wrote: > > I tried to reproduce....very strange > > I'm back to being confused again. > > ..as to why of course > > > in my blank, demo project I ran > > > script/generate --webrat --rspec --testunit > > it does produce a different env.rb file > > -- without a "require cucumber/rails/rspec" statement > > > but the be_true still works. ????? > > > does this make any sense? > > RSpec and Test::Unit are two complimentory libraries for making low-level > assertions, so you want to pick one and only one. > > I would love to get some insight into why you tried both at the same time. > I'm always trying to write software and documentation that is as intuitive > as possible, but I'm realising I'll never quite get there. > > Aslak > > > =================================== > > the demo project env.rb file now looks like: > > > ENV["RAILS_ENV"] ||= "cucumber" > > require File.expand_path(File.dirname(__FILE__) + '/../../config/ > > environment') > > > require 'cucumber/formatter/unicode' # Remove this line if you don't > > want Cucumber Unicode support > > require 'cucumber/rails/world' > > require 'cucumber/rails/active_record' > > require 'cucumber/web/tableish' > > > require 'webrat' > > require 'webrat/core/matchers' > > require 'cucumber/webrat/element_locator' # Deprecated in favor of > > #tableish - remove this line if you don't use #element_at or #table_at > > > Webrat.configure do |config| > > config.mode = :rails > > config.open_error_files = false # Set to true if you want error > > pages to pop up in the browser > > end > > > =============================== > > after running > > > script/generate --webrat --rspec > > > it looks like: ( oh, and be_true and be_false still work!) > > > ENV["RAILS_ENV"] ||= "cucumber" > > require File.expand_path(File.dirname(__FILE__) + '/../../config/ > > environment') > > > require 'cucumber/formatter/unicode' # Remove this line if you don't > > want Cucumber Unicode support > > require 'cucumber/rails/rspec' > > require 'cucumber/rails/world' > > require 'cucumber/rails/active_record' > > require 'cucumber/web/tableish' > > > require 'webrat' > > require 'webrat/core/matchers' > > require 'cucumber/webrat/element_locator' # Deprecated in favor of > > #tableish - remove this line if you don't use #element_at or #table_at > > > Webrat.configure do |config| > > config.mode = :rails > > config.open_error_files = false # Set to true if you want error > > pages to pop up in the browser > > end > > > On Dec 25, 5:22 pm, Doug <[email protected]> wrote: > > > I figured it out last night. > > > ...sorry I didn't post then > > > > I created a blank rails project and used: > > > $ script/generate --webrat --rspec > > > > then compared the features/support/env.rb; mine was missing: > > > require 'cucumber/rails/rspec' > > > > after adding that statement, the be_true and be_falses worked fine > > > then I removed all the other requires as you suggested above > > > > NOTE: I believe that's the way the file was generated. I don't > > > remember editing the env.rb file -- per the instructions, but I don't > > > remember. > > > using the options: --webrat --rspec --testunit > > > .....Now I only included the option for testunit out of curiousity; > > > was that a mistake? > > > > I'll try to reproduce it. > > > > thanks > > > > On Dec 25, 2:45 am, aslak hellesoy <[email protected]> wrote: > > > > > > I agree.... > > > > > > I did notice that my feature/support/my_env.rb (custom) had: > > > > > require 'spec' > > > > > require 'spec/rails' > > > > > > so I changed first line > > > > > require 'spec/autorun' > > > > > You shouldn't do that. You don't want the RSpec runner to run when > > you're > > > > using Cucumber. > > > > In fact, you shouldn't do any RSpec requires in my_env.rb at all - all > > that > > > > setup is done in env.rb. > > > > > > in keeping with > > > > >http://wiki.github.com/dchelimsky/rspec/configgem-for-rails > > > > > > seems to me that really should do it, but it doesn't work.???? > > > > > I'm assuming you have followed the upgrade instructions that Matt > > mentioned. > > > > However your setup still seems broken so I'm wondering if you > > succeeded. > > > > > Could you pastie or gist your env.rb and my_env.rb files so we can take > > a > > > > peek? > > > > > I've tried requiring spec_helper, etc. putting the requires closer to > > > > > > my code.,etc. > > > > > You should never load your spec_helper.rb from Cucumber. > > > > > nothing works!!!! > > > > > > btw: be_true and be_false work in my existing spec test; it's just in > > > > > cucumber steps. > > > > > > ???? > > > > > > On Dec 24, 1:14 am, Matt Wynne <[email protected]> wrote: > > > > > > On 24 Dec 2009, at 06:09, Doug wrote: > > > > > > > > after upgrading cucumber to 5.1 be_true and be_false are > > undefined > > > > > > > switching to == true or == false works. > > > > > > > > ??? thanks. > > > > > > > The rails integration changed quite a bit for that release. See [1] > > > > > > plus a few recent threads on this list. > > > > > > > It sounds like your specific problem is you don't have rspec's > > > > > > matchers required anymore. > > > > > > > [1]http://wiki.github.com/aslakhellesoy/cucumber/upgrading > > > > > > > > Then there is an invalid item with 1 "upc" > > > > > > > error # features/step_definitions/ > > > > > > > extract_steps.rb: > > > > > > > 56 > > > > > > > undefined method `be_true' for > > > > > > > #<ActionController::Integration::Session:0x104bc7820> > > (NoMethodError) > > > > > > > ./features/step_definitions/extract_steps.rb:45:in > > `/^retrieve > > > > > > > file$/' > > > > > > > > Then /^retrieve file$/ do > > > > > > > basename = File.basename(@filename) > > > > > > > ExtractReport.exists?(:file_name => basename).should == > > > > > > > true **** this is line 45 > > > > > > > �...@file = ExtractReport.find_by_file_name(basename) > > > > > > > count = @file.record_count.to_i - 2 # count includes header and > > > > > > > trailer > > > > > > > �[email protected] have(count).items > > > > > > > end > > > > > > > _______________________________________________ > > > > > > > rspec-users mailing list > > > > > > > [email protected] > > > > > > >http://rubyforge.org/mailman/listinfo/rspec-users > > > > > > > cheers, > > > > > > Matt > > > > > > >http://mattwynne.net > > > > > > +447974 430184 > > > > > > > _______________________________________________ > > > > > > rspec-users mailing list > > > > > > [email protected]:// > > > > > rubyforge.org/mailman/listinfo/rspec-users > > > > > _______________________________________________ > > > > > rspec-users mailing list > > > > > [email protected] > > > > >http://rubyforge.org/mailman/listinfo/rspec-users > > > > > _______________________________________________ > > > > rspec-users mailing list > > > > [email protected]:// > > rubyforge.org/mailman/listinfo/rspec-users > > > > _______________________________________________ > > > rspec-users mailing list > > > [email protected]:// > > rubyforge.org/mailman/listinfo/rspec-users > > _______________________________________________ > > 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 _______________________________________________ rspec-users mailing list [email protected] http://rubyforge.org/mailman/listinfo/rspec-users
