2013-07-01 6 views
0

Rails 4 (베타)와 모델 테스트 섹션 (반복 B2)이 포함 된 애자일 웹 개발을 진행할 것입니다. 테스트/models/product_test.rb 파일에 다음 코드를 추가하기 전까지는 문제가 없습니다. pdf에서 붙여 넣은 사본입니다. 모델에 대한 테스트를 실행하려고하면 이상한 오류가 발생합니다. 나는 또한 게시자의 forum에 게시했습니다.'레이크 테스트 : 모델'을 실행할 때 왜이 모델 테스트가 중단되지 않습니까?

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 

터미널에 rake test:models --trace을 실행 한 후 오류가 발생했습니다.

➜ 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 `<top (required)>' 
/Users/admin/.rvm/gems/[email protected]/gems/activesupport-4.0.0.rc1/lib/active_support/dependencies.rb:228:in `require' 
/Users/admin/.rvm/gems/[email protected]/gems/activesupport-4.0.0.rc1/lib/active_support/dependencies.rb:228:in `block in require' 
/Users/admin/.rvm/gems/[email protected]/gems/activesupport-4.0.0.rc1/lib/active_support/dependencies.rb:213:in `load_dependency' 
/Users/admin/.rvm/gems/[email protected]/gems/activesupport-4.0.0.rc1/lib/active_support/dependencies.rb:228:in `require' 
/Users/admin/.rvm/gems/[email protected]/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/[email protected]/gems/railties-4.0.0.rc1/lib/rails/test_unit/sub_test_task.rb:73:in `each' 
/Users/admin/.rvm/gems/[email protected]/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/[email protected]/gems/railties-4.0.0.rc1/lib/rails/test_unit/sub_test_task.rb:72:in `each' 
/Users/admin/.rvm/gems/[email protected]/gems/railties-4.0.0.rc1/lib/rails/test_unit/sub_test_task.rb:72:in `block in define' 
/Users/admin/.rvm/gems/[email protected]/gems/rake-10.1.0/lib/rake/task.rb:236:in `call' 
/Users/admin/.rvm/gems/[email protected]/gems/rake-10.1.0/lib/rake/task.rb:236:in `block in execute' 
/Users/admin/.rvm/gems/[email protected]/gems/rake-10.1.0/lib/rake/task.rb:231:in `each' 
/Users/admin/.rvm/gems/[email protected]/gems/rake-10.1.0/lib/rake/task.rb:231:in `execute' 
/Users/admin/.rvm/gems/[email protected]/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/[email protected]/gems/rake-10.1.0/lib/rake/task.rb:168:in `invoke_with_call_chain' 
/Users/admin/.rvm/gems/[email protected]/gems/rake-10.1.0/lib/rake/task.rb:161:in `invoke' 
/Users/admin/.rvm/gems/[email protected]/gems/rake-10.1.0/lib/rake/application.rb:149:in `invoke_task' 
/Users/admin/.rvm/gems/[email protected]/gems/rake-10.1.0/lib/rake/application.rb:106:in `block (2 levels) in top_level' 
/Users/admin/.rvm/gems/[email protected]/gems/rake-10.1.0/lib/rake/application.rb:106:in `each' 
/Users/admin/.rvm/gems/[email protected]/gems/rake-10.1.0/lib/rake/application.rb:106:in `block in top_level' 
/Users/admin/.rvm/gems/[email protected]/gems/rake-10.1.0/lib/rake/application.rb:115:in `run_with_threads' 
/Users/admin/.rvm/gems/[email protected]/gems/rake-10.1.0/lib/rake/application.rb:100:in `top_level' 
/Users/admin/.rvm/gems/[email protected]/gems/rake-10.1.0/lib/rake/application.rb:78:in `block in run' 
/Users/admin/.rvm/gems/[email protected]/gems/rake-10.1.0/lib/rake/application.rb:165:in `standard_exception_handling' 
/Users/admin/.rvm/gems/[email protected]/gems/rake-10.1.0/lib/rake/application.rb:75:in `run' 
/Users/admin/.rvm/gems/[email protected]/gems/rake-10.1.0/bin/rake:33:in `<top (required)>' 
/Users/admin/.rvm/gems/[email protected]/bin/rake:23:in `load' 
/Users/admin/.rvm/gems/[email protected]/bin/rake:23:in `<main>' 
Tasks: TOP => test:models 
Run options: --seed 9617 

# Running tests: 

.. 

Finished tests in 0.550033s, 3.6361 tests/s, 18.1807 assertions/s. 

답변

1

추적은 의미 (즉, 그 product_test.rb:39은 무엇입니까) 파일 product_test.rb 라인 (39)에 unknown command 'i'가 있음을 말하고있다.

그 어딘가에 어딘가에 i이 있습니까? 인용 한 스 니펫의 바깥쪽에있을 수도 있습니다 - 전화 번호 없이는 말할 수 없습니다.

+0

화면에 아무것도 없습니다. 여기에 더 많은 정보가 있습니다 : 39 행을 다음과 같이 편집 할 때 :'test "mage url"do' 오류가'unknown command 'm'' 이로 인해 어떤 시점에서 코드가 제대로 파싱되지 않는다고 생각됩니다 . – Nikola

+0

@Nikola 당신은 PDF에서 복사하여 붙여 넣었다 고 말했습니까? 당신이 의도하지 않은 "숨겨진"문자가있을 수 있습니다 - 아마도 똑똑한/곱슬 따옴표가있을 수 있습니까? 해당 행을 삭제하고 수동으로 입력하십시오 - 문제가 해결 되었습니까? –

+0

글쎄, 난 원래 수동으로 모든 것을 입력하고 동일한 오류가 발생했습니다. 필자는 잘못 입력했다고 가정하기 때문에 나중에 pdf에서 복사하여 붙여 넣습니다. 두 경우 모두 같은 오류가 발생합니다. – Nikola