2013-09-05 3 views
0

Это мой первый день в тестировании Rails, у меня есть рабочий проект, но я не добавил никаких тестов вообще. Прежде всего я хотел rake, чтобы убедиться, что все работает (для хорошего старта), но ...Rails Unit :: Ошибка теста

[37/38] UsermailerTest#test_notifyadmin = 0.00 s    
    25) Error: 
    test_notifyadmin(UsermailerTest): 
    NameError: uninitialized constant UsermailerTest::Usermailer 
     /Users/linus/Documents/Work/Coding/Rails/project/test/functional/usermailer_test.rb:5:in `block in <class:UsermailerTest>' 
     /Users/linus/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/minitest/unit.rb:1301:in `run' 
     /Users/linus/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/test/unit/testcase.rb:17:in `run' 
     /Users/linus/.rvm/gems/ruby-2.0.0-p247/gems/activesupport-3.2.13/lib/active_support/testing/setup_and_teardown.rb:36:in `block in run' 
     /Users/linus/.rvm/gems/ruby-2.0.0-p247/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:447:in `_run__1175861498219140925__setup__3741829296426871776__callbacks' 
     /Users/linus/.rvm/gems/ruby-2.0.0-p247/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:405:in `__run_callback' 
     /Users/linus/.rvm/gems/ruby-2.0.0-p247/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:385:in `_run_setup_callbacks' 
     /Users/linus/.rvm/gems/ruby-2.0.0-p247/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:81:in `run_callbacks' 
     /Users/linus/.rvm/gems/ruby-2.0.0-p247/gems/activesupport-3.2.13/lib/active_support/testing/setup_and_teardown.rb:35:in `run' 
     /Users/linus/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/minitest/unit.rb:919:in `block in _run_suite' 
     /Users/linus/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/minitest/unit.rb:912:in `map' 
     /Users/linus/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/minitest/unit.rb:912:in `_run_suite' 
     /Users/linus/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/test/unit.rb:657:in `block in _run_suites' 
     /Users/linus/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/test/unit.rb:655:in `each' 
     /Users/linus/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/test/unit.rb:655:in `_run_suites' 
     /Users/linus/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/minitest/unit.rb:867:in `_run_anything' 
     /Users/linus/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/minitest/unit.rb:1060:in `run_tests' 
     /Users/linus/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/minitest/unit.rb:1047:in `block in _run' 
     /Users/linus/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/minitest/unit.rb:1046:in `each' 
     /Users/linus/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/minitest/unit.rb:1046:in `_run' 
     /Users/linus/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/minitest/unit.rb:1035:in `run' 
     /Users/linus/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/test/unit.rb:21:in `run' 
     /Users/linus/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/test/unit.rb:774:in `run' 
     /Users/linus/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/test/unit.rb:366:in `block (2 levels) in autorun' 
     /Users/linus/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/test/unit.rb:27:in `run_once' 
     /Users/linus/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/test/unit.rb:365:in `block in autorun' 

    [38/38] UsersControllerTest#test_should_get_show = 0.00 s 
    26) Failure: 
    test_should_get_show(UsersControllerTest) [/Users/linus/Documents/Work/Coding/Rails/project/test/functional/users_controller_test.rb:6]: 
    Expected response to be a <:success>, but was <302> 

    Finished tests in 0.763938s, 49.7423 tests/s, 27.4891 assertions/s. 
    38 tests, 21 assertions, 8 failures, 18 errors, 0 skips 

    ruby -v: ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-darwin12.4.0] 
    Errors running test:functionals! #<RuntimeError: Command failed with status (26): [ruby -I"lib:test" -I"/Users/linus/.rvm/gems/ruby-2.0.0-p247/gems/rake-10.1.0/lib" "/Users/linus/.rvm/gems/ruby-2.0.0-p247/gems/rake-10.1.0/lib/rake/rake_test_loader.rb" "test/functional/**/*_test.rb" ]> 

У меня нет абсолютно никакого понятия, что здесь не так (новая территория для меня), где это исходя из или как я могу это исправить, поэтому я действительно надеюсь, что кто-то может помочь. Я использую для управления пользователями, если это важно.

Примечание: Эта ошибка выше не является единственной, есть «много» из них, все начинаются почти так же, поэтому я думал, что просто добавлю один для ясности.

[37/38] UsermailerTest#test_notifyadmin = 0.00 s    
     25) Error: 
     test_notifyadmin(UsermailerTest): 
     NameError: uninitialized constant UsermailerTest::Usermailer 

и так далее ...

Update

Вот код из тестового/функционала/usermailer_test.rb

требуют '' test_helper

class UsermailerTest < ActionMailer::TestCase 
    test "notifyadmin" do 
    mail = Usermailer.notifyadmin 
    assert_equal "Notifyadmin", mail.subject 
    assert_equal ["[email protected]"], mail.to 
    assert_equal ["[email protected]"], mail.from 
    assert_match "Hi", mail.body.encoded 
    end 

end 
+0

«У меня есть рабочий проект, но я не добавил никаких тестов». Тогда у вас нет рабочего проекта. В любом случае, как выглядит код в 'test/functional/usermailer_test.rb'? – jdl

+0

Я добавил код в качестве обновления к моему вопросу. – Linus

+0

Может быть, я могу предоставить любую дополнительную информацию? – Linus

ответ

0

Оказалось, что существует 2 версии некоторых тегов ting. Некоторые из них назывались множественными, некоторые - единственными. Сингулярные именованные контроллеры приводили к сообщениям об ошибках, поскольку они не обновлены с последними изменениями, внесенными мной в контроллеры mvc. Кроме того, я переименовал некоторые контроллеры, такие как Usermailer, в UserMailer, что привело к проблеме, которую они не могли найти.

Смежные вопросы