0

我有以下结构

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 中我可以简单地做 require 'test_helper.rb'

使用 rake 进行这项工作的奖励积分。

4

1 回答 1

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 }

而已。现在将这一行添加到您想要与任何目录分开运行的每个测试的开头。忘记目录问题。

于 2013-04-22T18:03:16.183 回答