exception消息:在rails应用程序中没有要加载此类文件
我在rails应用程序中包含了test_helper.rb
。 我甚至在test->unit
下的test.rb
文件中包含了require 'test_helper'
。 当我在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 `' /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 `' -e:1:in `load' -e:1:in `' 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 `' /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 `' -e:1:in `load' -e:1:in `' 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 `' /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 `' -e:1:in `load' -e:1:in `' 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 `' /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 `' -e:1:in `load' -e:1:in `' 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 `' /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 `' -e:1:in `load' -e:1:in `' 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
我错过了什么? 谢谢!
test_helper.rb位于测试目录中。 您正在从根目录运行测试,这意味着该文件的路径是错误的。 尝试从测试目录运行测试。
如果要从根目录运行测试,则必须将其更改为require File.join(File.dirname(__FILE__), '..', 'test_helper.rb')
FILE require File.join(File.dirname(__FILE__), '..', 'test_helper.rb')
,其中FILE是指向包含此行的文件(您的测试用例),其余是相对于该文件的test_helper.rb的路径。 这样,运行测试的地方就无关紧要了。
在我的情况下(RM 7.1 / Win7 / Rails 3.0),我必须做以下事情:
在“Ruby参数”的开头添加“-Itest”
注意:将工作目录更改为“test”对我来说不起作用。
资料来源: https : //devnet.jetbrains.com/message/5490675#5490675
- 尝试访问heroku控制台时,“您无法访问该应用程序”
- ps auxwww | grep psql – postgres没有运行自制软件
- Ajax with Polymorphic Association(Destroy&Create)
- rake db:migrate因rake版本差异而被中止
- Rails 4活动记录validation – 如果存在至少一个属性而有条件地validation4个属性的存在,同时不允许存在
- Ruby相当于PHP的ucfirst()函数
- 如何实现单例模型
- Rails 3.0和Ruby 1.9.2rc:Rake命令返回’已初始化的常量’和堆栈级别太深的错误。 有任何想法吗
- 用水豚进行平行selenium试验