Note that there are some explanatory texts on larger screens.

plurals
  1. POWhy is this Model test breaking (not failing) when I run 'rake test:models'?
    primarykey
    data
    text
    <p>I'm going through Agile Web Development with Rails 4 (beta) and in the Model testing section (iteration B2). Things we're going fine until I added the following code in my test/models/product_test.rb file. It's copy an pasted from the pdf. I'm getting a weird error when I try to run the tests for models. I also posted in the publisher's <a href="http://forums.pragprog.com/forums/311" rel="nofollow">forum</a>.</p> <pre><code>def new_product(image_url) Product.new(title: "My Book Title", description: "yyy", price: 1, image_url: image_url) end test "image url" do ok = %w{ fred.gif fred.jpg fred.png FRED.JPG FRED.Jpg http://a.b.c/x/y/z/fred.gif } bad = %w{ fred.doc fred.gif/more fred.gif.more } ok.each do |name| assert new_product(name).valid?, "#{name} shouldn't be invalid" end bad.each do |name| assert new_product(name).invalid?, "#{name} shouldn't be valid" end end </code></pre> <p>Here is the error I got after running <code>rake test:models --trace</code> in terminal. </p> <pre><code>➜ depot git:(master) ✗ rake test:models --trace ** Invoke test:models (first_time) ** Invoke test:prepare (first_time) ** Invoke db:test:prepare (first_time) ** Execute db:test:prepare ** Invoke db:test:load (first_time) ** Invoke db:test:purge (first_time) ** Invoke environment (first_time) ** Execute environment ** Invoke db:load_config (first_time) ** Execute db:load_config ** Execute db:test:purge ** Execute db:test:load ** Invoke db:test:load_schema (first_time) ** Invoke db:test:purge ** Execute db:test:load_schema ** Invoke db:schema:load (first_time) ** Invoke environment ** Invoke db:load_config ** Execute db:schema:load ** Invoke db:abort_if_pending_migrations (first_time) ** Invoke environment ** Execute db:abort_if_pending_migrations ** Execute test:prepare ** Execute test:models rake aborted! unknown command 'i' /Users/admin/Dropbox/code/rails/depot/test/models/product_test.rb:39:in `test' /Users/admin/Dropbox/code/rails/depot/test/models/product_test.rb:39:in `&lt;top (required)&gt;' /Users/admin/.rvm/gems/ruby-1.9.3-p385@rails3tut/gems/activesupport-4.0.0.rc1/lib/active_support/dependencies.rb:228:in `require' /Users/admin/.rvm/gems/ruby-1.9.3-p385@rails3tut/gems/activesupport-4.0.0.rc1/lib/active_support/dependencies.rb:228:in `block in require' /Users/admin/.rvm/gems/ruby-1.9.3-p385@rails3tut/gems/activesupport-4.0.0.rc1/lib/active_support/dependencies.rb:213:in `load_dependency' /Users/admin/.rvm/gems/ruby-1.9.3-p385@rails3tut/gems/activesupport-4.0.0.rc1/lib/active_support/dependencies.rb:228:in `require' /Users/admin/.rvm/gems/ruby-1.9.3-p385@rails3tut/gems/railties-4.0.0.rc1/lib/rails/test_unit/sub_test_task.rb:73:in `block (3 levels) in define' /Users/admin/.rvm/gems/ruby-1.9.3-p385@rails3tut/gems/railties-4.0.0.rc1/lib/rails/test_unit/sub_test_task.rb:73:in `each' /Users/admin/.rvm/gems/ruby-1.9.3-p385@rails3tut/gems/railties-4.0.0.rc1/lib/rails/test_unit/sub_test_task.rb:73:in `block (2 levels) in define' /Users/admin/.rvm/gems/ruby-1.9.3-p385@rails3tut/gems/railties-4.0.0.rc1/lib/rails/test_unit/sub_test_task.rb:72:in `each' /Users/admin/.rvm/gems/ruby-1.9.3-p385@rails3tut/gems/railties-4.0.0.rc1/lib/rails/test_unit/sub_test_task.rb:72:in `block in define' /Users/admin/.rvm/gems/ruby-1.9.3-p385@rails3tut/gems/rake-10.1.0/lib/rake/task.rb:236:in `call' /Users/admin/.rvm/gems/ruby-1.9.3-p385@rails3tut/gems/rake-10.1.0/lib/rake/task.rb:236:in `block in execute' /Users/admin/.rvm/gems/ruby-1.9.3-p385@rails3tut/gems/rake-10.1.0/lib/rake/task.rb:231:in `each' /Users/admin/.rvm/gems/ruby-1.9.3-p385@rails3tut/gems/rake-10.1.0/lib/rake/task.rb:231:in `execute' /Users/admin/.rvm/gems/ruby-1.9.3-p385@rails3tut/gems/rake-10.1.0/lib/rake/task.rb:175:in `block in invoke_with_call_chain' /Users/admin/.rvm/rubies/ruby-1.9.3-p385/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize' /Users/admin/.rvm/gems/ruby-1.9.3-p385@rails3tut/gems/rake-10.1.0/lib/rake/task.rb:168:in `invoke_with_call_chain' /Users/admin/.rvm/gems/ruby-1.9.3-p385@rails3tut/gems/rake-10.1.0/lib/rake/task.rb:161:in `invoke' /Users/admin/.rvm/gems/ruby-1.9.3-p385@rails3tut/gems/rake-10.1.0/lib/rake/application.rb:149:in `invoke_task' /Users/admin/.rvm/gems/ruby-1.9.3-p385@rails3tut/gems/rake-10.1.0/lib/rake/application.rb:106:in `block (2 levels) in top_level' /Users/admin/.rvm/gems/ruby-1.9.3-p385@rails3tut/gems/rake-10.1.0/lib/rake/application.rb:106:in `each' /Users/admin/.rvm/gems/ruby-1.9.3-p385@rails3tut/gems/rake-10.1.0/lib/rake/application.rb:106:in `block in top_level' /Users/admin/.rvm/gems/ruby-1.9.3-p385@rails3tut/gems/rake-10.1.0/lib/rake/application.rb:115:in `run_with_threads' /Users/admin/.rvm/gems/ruby-1.9.3-p385@rails3tut/gems/rake-10.1.0/lib/rake/application.rb:100:in `top_level' /Users/admin/.rvm/gems/ruby-1.9.3-p385@rails3tut/gems/rake-10.1.0/lib/rake/application.rb:78:in `block in run' /Users/admin/.rvm/gems/ruby-1.9.3-p385@rails3tut/gems/rake-10.1.0/lib/rake/application.rb:165:in `standard_exception_handling' /Users/admin/.rvm/gems/ruby-1.9.3-p385@rails3tut/gems/rake-10.1.0/lib/rake/application.rb:75:in `run' /Users/admin/.rvm/gems/ruby-1.9.3-p385@rails3tut/gems/rake-10.1.0/bin/rake:33:in `&lt;top (required)&gt;' /Users/admin/.rvm/gems/ruby-1.9.3-p385@rails3tut/bin/rake:23:in `load' /Users/admin/.rvm/gems/ruby-1.9.3-p385@rails3tut/bin/rake:23:in `&lt;main&gt;' Tasks: TOP =&gt; test:models Run options: --seed 9617 # Running tests: .. Finished tests in 0.550033s, 3.6361 tests/s, 18.1807 assertions/s. </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload