On Nov 24, 2007 6:22 PM, James B. Byrne <[EMAIL PROTECTED]> wrote: > > On Sat, November 24, 2007 20:48, James B. Byrne wrote: > > > > > The problem was that I left out a column from the product migration that I > > referred to in the spec. > > > > Sorry, but I need to revisit this again. If the specs pass then I get no > rake error. If one spec fails then after the test reports I get a rake > error and back trace. Why? > > OS = MS XP pro SP2 > Ruby = 1.8.6 > Rails = 1.2.5 > RSpec = TRUNK d.20071123 > > product_spec.rb > > ---> > require File.dirname(__FILE__) + '/../spec_helper' > > module ProductSpecHelper > > def valid_product_attributes > { > :code => 'PROD1234CODE', > :description => 'a short description', > :image_url => 'http://imageserver.tld.com/images/image.jpg', > :price => 1234.56, > :title => 'a test product' > } > end > end > > describe Product do > > include ProductSpecHelper > > before(:each) do > @product = Product.new > end > > it "should have a title" do > @product.attributes = valid_product_attributes.except(:title) > @product.should have(1).error_on(:title) > @product.title = 'a test product' > @product.should be_valid > end > > it "should have a description" do > @product.attributes = valid_product_attributes.except(:description) > @product.should have(1).error_on(:description) > @product.description = 'a short description' > @product.should be_valid > end > > it "should have a valid image uri" > > end > <--- > > app/models/product.rb > > ---> > class Product < ActiveRecord::Base > > validates_presence_of :title > validates_presence_of :description > > end > <--- > > Specs pass: > ---> > C:\var\RSpec\depot>rake spec:models > (in C:/var/RSpec/depot) > NOTICE: CREATE TABLE will create implicit sequence "products_id_seq" for > serial column "products.id" > NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index > "products_pkey" for table "products" > > Product > - should have a valid image uri (PENDING: Not Yet Implemented) > - should have a description > - should have a title > > Pending: > Product should have a valid image uri (Not Yet Implemented) > > Finished in 0.985 seconds > > 3 examples, 0 failures, 1 pending > <--- > > Spec fails: (I changed the .should be_valid to .should_not be_valid) > > ---> > C:\var\RSpec\depot>rake spec:models --trace > (in C:/var/RSpec/depot) > ** Invoke spec:models (first_time) > ** Invoke db:test:prepare (first_time) > ** Invoke environment (first_time) > ** Execute environment > ** Execute db:test:prepare > ** Invoke db:test:clone (first_time) > ** Invoke db:schema:dump (first_time) > ** Invoke environment > ** Execute db:schema:dump > ** Invoke db:test:purge (first_time) > ** Invoke environment > ** Execute db:test:purge > ** Execute db:test:clone > ** Invoke db:schema:load (first_time) > ** Invoke environment > ** Execute db:schema:load > NOTICE: CREATE TABLE will create implicit sequence "products_id_seq" for > serial column "products.id" > NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index > "products_pkey" for table "products" > ** Execute spec:models > > Product > - should have a valid image uri (PENDING: Not Yet Implemented) > - should have a description (FAILED - 1) > - should have a title > > Pending: > Product should have a valid image uri (Not Yet Implemented) > > 1) > 'Product should have a description' FAILED > expected valid? to return false, got true > ./spec/models/product_spec.rb:35: > > Finished in 1.266 seconds > > 3 examples, 1 failure, 1 pending > rake aborted! > Command ruby -I > "C:/var/RSpec/depot/vendor/plugins/rspec/lib" > "C:/var/RSpec/depot/vendor/plugins/rspec/bin/spec" > "spec/models/product_spec.rb" > --options > "C:/var/RSpec/depot/config/../spec/spec.opts" > failed > > C:/var/RSpec/depot/vendor/plugins/rspec/lib/spec/rake/ > spectask.rb:173:in `define' > C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/ > rake.rb:823:in `verbose' > C:/var/RSpec/depot/vendor/plugins/rspec/lib/spec/rake/ > spectask.rb:142:in `define' > C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/ > rake.rb:392:in `call' > C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/ > rake.rb:392:in `execute' > C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/ > rake.rb:392:in `each' > C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/ > rake.rb:392:in `execute' > C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/ > rake.rb:362:in `invoke' > C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/ > rake.rb:355:in `synchronize' > C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/ > rake.rb:355:in `invoke' > C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/ > rake.rb:1739:in `top_level' > C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/ > rake.rb:1739:in `each' > C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/ > rake.rb:1739:in `top_level' > C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/ > rake.rb:1761:in `standard_exception_handling' > C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/ > rake.rb:1733:in `top_level' > C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/ > rake.rb:1711:in `run' > C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/ > rake.rb:1761:in `standard_exception_handling' > C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/ > rake.rb:1708:in `run' > C:/usr/local/bin/ruby/lib/ruby/gems/1.8/gems/rake-0.7.3/bin/rake:7 > C:/usr/local/bin/ruby/bin/rake.bat:20:in `load' > C:/usr/local/bin/ruby/bin/rake.bat:20
Failed expectations are implemented using exceptions, so naturally if you use --trace then rake will print a backtrace. If you don't want it, don't use --trace. Pat _______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users