如何从子目录中请求ruby文件

时间:2013-04-22 17:39:09

标签: ruby rake require

我有以下结构

tests
  specific tests
    first_test.rb
  more tests
    second_test.rb
 test_helper.rb

现在我试图在first_test和second_test中要求test_helper。以下作品

  

要求'../ test_helper.rb'

从命令行我应该进行特定的测试并执行

ruby first_test.rb

如何获得更多灵活性,即。我想要在任何目录中并执行这些测试。目前我得到'没有这样的文件'。这不是一个rails应用程序,但在rails中我只需要'test_helper.rb'

使用rake实现此功能的奖励积分。

1 个答案:

答案 0 :(得分:1)

将test_helper和其他帮助程序放在单独的目录中,如

/home/XXX/projects/test_project/lib/ 

或您喜欢的任何地方,并使用基本目录,如

Dir["base/path/to/your/helper/*.rb"].each {|file| require file }

或者来自我上面的例子

Dir["/home/XXX/projects/test_project/lib/*.rb"].each {|file| require file }

多数民众赞成。 现在将此行添加到要从任何目录中单独运行的每个测试的开头。忘记目录问题。