Сообщение об исключении: нет такого файла для загрузки в приложении rails - PullRequest
3 голосов
/ 28 сентября 2011

Я включил test_helper.rb под test в моем приложении рельсов.Я даже включил require 'test_helper' в мои test.rb файлы под test->unit.Когда я запускаю весь тест в RubyMine для приложения, я получаю следующую ошибку:

У меня установлены последние версии всех RubyMine 3.2, ruby ​​1.9.2p290 и Rails 3.1.0.

/Users/im/.rvm/rubies/ruby-1.9.2-p290/bin/ruby -e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift) /Applications/RubyMine 3.2.4.app/rb/testing/runner/tunit_in_folder_runner.rb
Testing started at 3:19 PM ...
Work directory: /Users/im/RubymineProjects/BackChannelApp}
Loading files.... 
=========================================
Fail to load: /Users/im/RubymineProjects/BackChannelApp/test/performance/browsing_test.rb:1
      Exception message: no such file to load -- test_helper
        /Users/im/RubymineProjects/BackChannelApp/test/performance/browsing_test.rb:1:in `require'
        /Users/im/RubymineProjects/BackChannelApp/test/performance/browsing_test.rb:1:in `<top (required)>'
        /Applications/RubyMine 3.2.4.app/rb/testing/runner/tunit_in_folder_runner.rb:48:in `require'
        /Applications/RubyMine 3.2.4.app/rb/testing/runner/tunit_in_folder_runner.rb:48:in `block in load_scripts_to_object_space'
        /Applications/RubyMine 3.2.4.app/rb/testing/runner/tunit_in_folder_runner.rb:40:in `each'
        /Applications/RubyMine 3.2.4.app/rb/testing/runner/tunit_in_folder_runner.rb:40:in `load_scripts_to_object_space'
        /Applications/RubyMine 3.2.4.app/rb/testing/runner/tunit_in_folder_runner.rb:101:in `<top (required)>'
        -e:1:in `load'
        -e:1:in `<main>'
Fail to load: /Users/im/RubymineProjects/BackChannelApp/test/unit/helpers/posts_helper_test.rb:1
      Exception message: no such file to load -- test_helper
        /Users/im/RubymineProjects/BackChannelApp/test/unit/helpers/posts_helper_test.rb:1:in `require'
        /Users/im/RubymineProjects/BackChannelApp/test/unit/helpers/posts_helper_test.rb:1:in `<top (required)>'
        /Applications/RubyMine 3.2.4.app/rb/testing/runner/tunit_in_folder_runner.rb:48:in `require'
        /Applications/RubyMine 3.2.4.app/rb/testing/runner/tunit_in_folder_runner.rb:48:in `block in load_scripts_to_object_space'
        /Applications/RubyMine 3.2.4.app/rb/testing/runner/tunit_in_folder_runner.rb:40:in `each'
        /Applications/RubyMine 3.2.4.app/rb/testing/runner/tunit_in_folder_runner.rb:40:in `load_scripts_to_object_space'
        /Applications/RubyMine 3.2.4.app/rb/testing/runner/tunit_in_folder_runner.rb:101:in `<top (required)>'
        -e:1:in `load'
        -e:1:in `<main>'
Fail to load: /Users/im/RubymineProjects/BackChannelApp/test/unit/helpers/users_helper_test.rb:1
      Exception message: no such file to load -- test_helper
        /Users/im/RubymineProjects/BackChannelApp/test/unit/helpers/users_helper_test.rb:1:in `require'
        /Users/im/RubymineProjects/BackChannelApp/test/unit/helpers/users_helper_test.rb:1:in `<top (required)>'
        /Applications/RubyMine 3.2.4.app/rb/testing/runner/tunit_in_folder_runner.rb:48:in `require'
        /Applications/RubyMine 3.2.4.app/rb/testing/runner/tunit_in_folder_runner.rb:48:in `block in load_scripts_to_object_space'
        /Applications/RubyMine 3.2.4.app/rb/testing/runner/tunit_in_folder_runner.rb:40:in `each'
        /Applications/RubyMine 3.2.4.app/rb/testing/runner/tunit_in_folder_runner.rb:40:in `load_scripts_to_object_space'
        /Applications/RubyMine 3.2.4.app/rb/testing/runner/tunit_in_folder_runner.rb:101:in `<top (required)>'
        -e:1:in `load'
        -e:1:in `<main>'
Fail to load: /Users/im/RubymineProjects/BackChannelApp/test/unit/post_test.rb:1
      Exception message: no such file to load -- test_helper
        /Users/im/RubymineProjects/BackChannelApp/test/unit/post_test.rb:4:in `require'
        /Users/im/RubymineProjects/BackChannelApp/test/unit/post_test.rb:4:in `<top (required)>'
        /Applications/RubyMine 3.2.4.app/rb/testing/runner/tunit_in_folder_runner.rb:48:in `require'
        /Applications/RubyMine 3.2.4.app/rb/testing/runner/tunit_in_folder_runner.rb:48:in `block in load_scripts_to_object_space'
        /Applications/RubyMine 3.2.4.app/rb/testing/runner/tunit_in_folder_runner.rb:40:in `each'
        /Applications/RubyMine 3.2.4.app/rb/testing/runner/tunit_in_folder_runner.rb:40:in `load_scripts_to_object_space'
        /Applications/RubyMine 3.2.4.app/rb/testing/runner/tunit_in_folder_runner.rb:101:in `<top (required)>'
        -e:1:in `load'
        -e:1:in `<main>'
Fail to load: /Users/im/RubymineProjects/BackChannelApp/test/unit/user_test.rb:1
      Exception message: no such file to load -- test_helper
        /Users/im/RubymineProjects/BackChannelApp/test/unit/user_test.rb:1:in `require'
        /Users/im/RubymineProjects/BackChannelApp/test/unit/user_test.rb:1:in `<top (required)>'
        /Applications/RubyMine 3.2.4.app/rb/testing/runner/tunit_in_folder_runner.rb:48:in `require'
        /Applications/RubyMine 3.2.4.app/rb/testing/runner/tunit_in_folder_runner.rb:48:in `block in load_scripts_to_object_space'
        /Applications/RubyMine 3.2.4.app/rb/testing/runner/tunit_in_folder_runner.rb:40:in `each'
        /Applications/RubyMine 3.2.4.app/rb/testing/runner/tunit_in_folder_runner.rb:40:in `load_scripts_to_object_space'
        /Applications/RubyMine 3.2.4.app/rb/testing/runner/tunit_in_folder_runner.rb:101:in `<top (required)>'
        -e:1:in `load'
        -e:1:in `<main>'
Creating sqlite :memory: database
-- create_table("posts", {:force=>true})
   -> 0.0346s
-- create_table("users", {:force=>true})
   -> 0.0010s
-- initialize_schema_migrations_table()
   -> 0.0008s
-- assume_migrated_upto_version(20110926132602, ["db/migrate"])
   -> 0.0005s
1. /Users/im/RubymineProjects/BackChannelApp/test/test_helper.rb:1

1 files were loaded.
=========================================
Searching test suites...
=========================================
DEPRECATION WARNING: ActiveSupport::JSON::CircularReferenceError is deprecated! Use ActiveSupport::JSON::Encoding::CircularReferenceError instead. (called from is_test_case_class? at /Applications/RubyMine 3.2.4.app/rb/testing/runner/tunit_in_folder_runner.rb:80)
DEPRECATION WARNING: ActiveSupport::JSON::CircularReferenceError is deprecated! Use ActiveSupport::JSON::Encoding::CircularReferenceError instead. (called from is_test_case_class? at /Applications/RubyMine 3.2.4.app/rb/testing/runner/tunit_in_folder_runner.rb:80)
DEPRECATION WARNING: Fixtures is deprecated! Use ActiveRecord::Fixtures instead. (called from is_test_case_class? at /Applications/RubyMine 3.2.4.app/rb/testing/runner/tunit_in_folder_runner.rb:80)
DEPRECATION WARNING: Fixtures is deprecated! Use ActiveRecord::Fixtures instead. (called from is_test_case_class? at /Applications/RubyMine 3.2.4.app/rb/testing/runner/tunit_in_folder_runner.rb:80)
DEPRECATION WARNING: Fixture is deprecated! Use ActiveRecord::Fixture instead. (called from is_test_case_class? at /Applications/RubyMine 3.2.4.app/rb/testing/runner/tunit_in_folder_runner.rb:80)
DEPRECATION WARNING: Fixture is deprecated! Use ActiveRecord::Fixture instead. (called from is_test_case_class? at /Applications/RubyMine 3.2.4.app/rb/testing/runner/tunit_in_folder_runner.rb:80)
Test suite #1: ActionDispatch::IntegrationTest

Ignored because it is default rails empty test suite
=========================================
Test suite #1: ActiveSupport::TestCase

Ignored because it is default rails empty test suite
=========================================
Test suite #1: ActionController::TestCase

Ignored because it is default rails empty test suite
DEPRECATION WARNING: ActiveSupport::SecureRandom is deprecated! Use SecureRandom instead. (called from is_test_case_class? at /Applications/RubyMine 3.2.4.app/rb/testing/runner/tunit_in_folder_runner.rb:80)
=========================================
Test suite #1: ActiveRecord::TestCase

Ignored because it is default rails empty test suite
=========================================
0 test suites, 0 tests, 0 assertions, 0 failures, 0 errors


Process finished with exit code 0

Чего мне не хватает?Спасибо!

Ответы [ 2 ]

1 голос
/ 04 мая 2015

В моей ситуации (RM 7.1 / Win7 / Rails 3.0) мне пришлось сделать следующее:

Добавить «-Itest» в начале «Ruby arguments»

Примечание. Изменение рабочего каталога на «test» не помогло мне.
Источник: https://devnet.jetbrains.com/message/5490675#5490675

1 голос
/ 28 сентября 2011

test_helper.rb находится в каталоге test.Вы запускаете тесты из корневого каталога, что означает неправильный путь к файлу.Попробуйте запустить свои тесты из каталога тестов.

Если вы хотите запустить свои тесты из корневого каталога, вам придется изменить это значение на require File.join(File.dirname(__FILE__), '..', 'test_helper.rb'), где FILE - это путь к файлу, содержащему эту строку.(ваш тестовый пример), а остальное - путь к test_helper.rb относительно этого файла.Этот способ запуска теста не имеет значения.

...