2011-12-27 30 views
2

当我尝试在我的新生成的Rails应用程序收到以下错误耙测试失败,LoadError,在寻找主目录

Computer:heroku user$ rake test:units 
/Users/user 
file doesnt exist 
/Users/user/.rvm/gems/ruby-1.9.3-p0/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:240:in `require': cannot load such file -- /Users/user/test/unit/helpers/things_helper_test.rb (LoadError) 
    from /Users/user/.rvm/gems/ruby-1.9.3-p0/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:240:in `block in require' 
    from /Users/user/.rvm/gems/ruby-1.9.3-p0/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:225:in `load_dependency' 
    from /Users/user/.rvm/gems/ruby-1.9.3-p0/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:240:in `require' 
    from /Users/user/.rvm/gems/ruby-1.9.3-p0/gems/rake-0.9.2.2/lib/rake/rake_test_loader.rb:10:in `block (2 levels) in <main>' 
    from /Users/user/.rvm/gems/ruby-1.9.3-p0/gems/rake-0.9.2.2/lib/rake/rake_test_loader.rb:9:in `each' 
    from /Users/user/.rvm/gems/ruby-1.9.3-p0/gems/rake-0.9.2.2/lib/rake/rake_test_loader.rb:9:in `block in <main>' 
    from /Users/user/.rvm/gems/ruby-1.9.3-p0/gems/rake-0.9.2.2/lib/rake/rake_test_loader.rb:4:in `select' 
    from /Users/user/.rvm/gems/ruby-1.9.3-p0/gems/rake-0.9.2.2/lib/rake/rake_test_loader.rb:4:in `<main>' 
rake aborted! 
Command failed with status (1): [/Users/user/.rvm/rubies/ruby-1.9.3-p0/b...] 

Tasks: TOP => test:units 
(See full trace by running task with --trace) 

我猜测,这与我的设置运行“耙测试”不知何故,因为它看起来好像耙正在寻找我的主目录中生成的文件,而不是rails应用程序目录。你能帮我指出我做错了什么吗?

我使用的是Mac OS X Lion,有两个安装的ruby版本(1.8.7与狮子,我用于应用程序使用rvm已安装1.9.3)。

如果我运行“rails s”,应用程序可以工作。

更新:如果我从头开始创建一个新的rails应用程序,只添加一个生成的脚手架,则rake测试命令有效。 Ergo,这可能是一个不兼容的问题,因为失败的rails应用程序是在另一台计算机上创建的,上传到heroku,然后从那里克隆到一台新计算机。

+0

可以肯定的是,你在哪里执行'rake test:unites'?从你上面发布的内容来看,它看起来像'/ User/user'? – 2011-12-27 16:40:57

+0

我在/ Users/user/Workspace/heroku目录中执行了该命令,该目录是rails应用程序的顶层目录 – erikxiv 2011-12-28 14:43:43

+0

我怀疑Rakefile有问题。 – 2011-12-28 15:05:03

回答

0

有趣的故事。我不小心把一些测试代码中的文件,其中,包含其他中:

Dir.chdir("../..") 

我猜当我运行rake test文件得到执行加载该文件中包含的类,而引起的问题当查找下一个文件时,当前目录突然改变。