error with test:functionals

Hello there,

I working on my tests but I getting this strange errror:

I can see on the database that the object was created but I still got
an failure on my test.

this is my test code:

test "should create artist" do
    assert_difference('Artist.count', difference = 1) do
      post :create, :artist => { }
    end
    assert_redirected_to artist_path(assigns(:artist))
  end

and this is my failure message:

1) Failure:
test_should_create_artist(ArtistsControllerTest)
    [/Users/bonacode/Desktop/arteacesso-br/arteacesso/vendor/rails/
activesupport/lib/active_support/testing/core_ext/test/unit/
assertions.rb:51:in `assert_difference'
     (eval):3:in `each_with_index'
     /Users/bonacode/Desktop/arteacesso-br/arteacesso/vendor/rails/
activesupport/lib/active_support/testing/core_ext/test/unit/
assertions.rb:47:in `each'
     /Users/bonacode/Desktop/arteacesso-br/arteacesso/vendor/rails/
activesupport/lib/active_support/testing/core_ext/test/unit/
assertions.rb:47:in `each_with_index'
     /Users/bonacode/Desktop/arteacesso-br/arteacesso/vendor/rails/
activesupport/lib/active_support/testing/core_ext/test/unit/
assertions.rb:47:in `assert_difference'
     ./test/functional/artists_controller_test.rb:16:in
`test_should_create_artist'
     /Users/bonacode/Desktop/arteacesso-br/arteacesso/vendor/rails/
activesupport/lib/active_support/testing/setup_and_teardown.rb:60:in
`__send__'
     /Users/bonacode/Desktop/arteacesso-br/arteacesso/vendor/rails/
activesupport/lib/active_support/testing/setup_and_teardown.rb:60:in
`run']:
<Artist.count> was the expression that failed.
<2> expected but was
<1>.

I checking the database and my use was created, I just dont't
understand why is it expecting 2 if there's only one on my fixture...

thanks for any help!

Luciano

I think that the message is saying that the value of Artist.count after the create is 1 when it should be 2, rather than the expected difference being 2, though I am not sure whether this is what you are confused about or not.

By the way,
assert_difference(‘Artist.count’, 1) do
may be what you want, though I don’t think that will make any difference to the result.