2011-09-27 63 views
3

我在我的rails應用程序中包含test_helper.rbtest下。我甚至在test->unittest.rb文件中包含了 require 'test_helper'。當我在應用程序的RubyMine中運行所有測試時,出現以下錯誤:異常消息:沒有這樣的文件加載在rails應用程序

我擁有所有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 

我在想什麼? 謝謝!

回答

1

test_helper.rb位於測試目錄中。您正在從根目錄運行測試,這意味着該文件的路徑是錯誤的。嘗試從測試目錄運行測試。

如果要從根目錄運行測試,則必須將其更改爲require File.join(File.dirname(__FILE__), '..', 'test_helper.rb'),其中FILE是包含此行(您的測試用例)的文件的路徑,其餘爲test_helper.rb,相對於該文件。這樣,你從哪裏運行測試就無關緊要了。

+0

是的,這是問題。 – Ava

+4

Please @Shaun請問@Shaun怎麼可能,我可以用rake測試運行測試,並且發現test_helper沒有問題,但是如果我想用rubymine運行測試,那是不可能的,直到我添加了你的require功能? – UltraMaster

相關問題