title: Rails: Test::Unit Why do I need to assert if something is valid or invalid before any other asserts
body: <p>This seems a little weird, when running a unit test to check if the length of my title is > 10 my test will pass if I include "assert product.invalid?" before any my other assert like this:</p>
  
  <pre><code>require 'test_helper'
  
  class ProductTest &lt; ActiveSupport::TestCase
  
  test "product title is too short" do
      product = Product.new(:title =&gt; "My lady",
                            :description =&gt; "yyy",
                            :price       =&gt; 1
                           )
      assert product.invalid?
      assert_equal "must be atleast 10 characters long.", product.errors[:title].join('; ')
  end
  end
  </code></pre>
  
  <p>However if I don't include "assert product.invalid?" before assert_equal I get this error
  1) Failure: test_product_title_is_too_short blah blah blah
  <strong>("must be atleast 10 characters long.") expected but was ("").</strong></p>
  
  <p>Is that how Test::Unit works? I have to assert that something is valid or invalid before I proceed with other tests? Kind of like initializing the test?</p>