Not an RSpec question, but I was led to this problem by starting to use autotest with cucumber and so, however unjustly, I feel that RSpec has to shoulder some of the blame.
I have a failing test in my clients_controller test and I cannot figure out what is wrong from the information provided from the test results and the logs. I would appreciate it someone here to take a look at this and show me what I am missing. The test: class ClientsControllerTest < ActionController::TestCase fixtures :entities, :clients def test_should_create_client assert_difference('Client.count') do post :create, :client => { :entity_id => 1, :client_status => 'HOLD', :client_credit_policy => 'CASH', :client_credit_terms => 0, :effective_from => "19841101000000".to_date, :superseded_after => "20141031235959".to_date } end assert_redirected_to client_path(assigns(:client)) end The model: class Client < ActiveRecord::Base belongs_to :entity validates_associated validates_presence_of :effective_from validate :date_range private def date_range unless effective_from errors.add_to_base("An Effective date is required") \ end if superseded_after errors.add_to_base("Superseded date falls before Effective date") \ if superseded_after < effective_from end end end The test result: /usr/bin/ruby -Ilib:test "/usr/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake/rake_test_loader.rb" "test/functional/clients_controller_test.rb" "test/functional/entity_client_controller_test.rb" Loaded suite /usr/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake/rake_test_loader Started F........ Finished in 1.096921 seconds. 1) Failure: test_should_create_client(ClientsControllerTest) [/usr/lib/ruby/gems/1.8/gems/activesupport-2.2.1/lib/active_support/testing/core_ext/test/unit/assertions.rb:51:in `assert_difference' /usr/lib/ruby/gems/1.8/gems/actionpack-2.2.1/lib/action_view/renderable.rb:81:in `each_with_index' /usr/lib/ruby/gems/1.8/gems/activesupport-2.2.1/lib/active_support/testing/core_ext/test/unit/assertions.rb:47:in `each' /usr/lib/ruby/gems/1.8/gems/activesupport-2.2.1/lib/active_support/testing/core_ext/test/unit/assertions.rb:47:in `each_with_index' /usr/lib/ruby/gems/1.8/gems/activesupport-2.2.1/lib/active_support/testing/core_ext/test/unit/assertions.rb:47:in `assert_difference' ./test/functional/clients_controller_test.rb:19:in `test_should_create_client' /usr/lib/ruby/gems/1.8/gems/activesupport-2.2.1/lib/active_support/testing/setup_and_teardown.rb:60:in `__send__' /usr/lib/ruby/gems/1.8/gems/activesupport-2.2.1/lib/active_support/testing/setup_and_teardown.rb:60:in `run']: <Client.count> was the expression that failed. <3> expected but was <2>. 9 tests, 10 assertions, 1 failures, 0 errors /usr/bin/ruby -Ilib:test "/usr/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake/rake_test_loader.rb" Errors running test:functionals! So, the test client is not being inserted. But I do not see in the test.log any sql that does an INSERT so I am at a loss to explain what is happening. The log: Processing ClientsController#new (for 0.0.0.0 at 2008-11-20 14:21:19) [GET] Rendering template within layouts/application Rendering clients/new Rendered entities/_entity_header (4.6ms) Rendered clients/_client_detail (3.5ms) Rendered shared/_effective_period (3.5ms) Completed in 28ms (View: 24, DB: 4) | 200 OK [http://test.host/clients/new] Client Load (1.5ms) SELECT * FROM "clients" WHERE ("clients"."id" = 953125641) Processing ClientsController#show (for 0.0.0.0 at 2008-11-20 14:21:19) [GET] Parameters: {"id"=>"953125641"} Client Load (1.6ms) SELECT * FROM "clients" WHERE ("clients"."id" = 953125641) Rendering template within layouts/application Rendering clients/show Entity Load (1.2ms) SELECT * FROM "entities" WHERE ("entities"."id" = 1) Completed in 17ms (View: 10, DB: 8) | 200 OK [http://test.host/clients/953125641] Client Load (1.5ms) SELECT * FROM "clients" WHERE ("clients"."id" = 953125641) Processing ClientsController#update (for 0.0.0.0 at 2008-11-20 14:21:20) [PUT] Parameters: {"client"=>{}, "id"=>"953125641"} Client Load (1.6ms) SELECT * FROM "clients" WHERE ("clients"."id" = 953125641) Redirected to #<Client:0xb71808c8> Completed in 12ms (DB: 11) | 302 Found [http://test.host/clients/953125641?] -- Posted via http://www.ruby-forum.com/. _______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users