如何获取rake当前正在测试的文件的文件名

时间:2010-11-17 21:51:45

标签: ruby-on-rails ruby ruby-on-rails-3

在我的rake任务中,如果我想知道文件的名称,当该文件被选中进行测试时,我该怎么做。原因是某些文件会产生警告。我不确定我的800项测试中哪一项会产生警告。

我的佣金任务是这样的。我正在使用rails3。

Rake::TestTask.new(:test_hr_module) do |t|
  t.libs << 'test'

  t.test_files = Dir.glob('test/{hr}/**/*_test.rb').sort

  t.warning = true
  t.verbose = true
end

2 个答案:

答案 0 :(得分:0)

您始终可以调用单个文件:

ruby test/unit/model_test.rb

您甚至可以使用名称标志来仅运行特定测试

ruby test/unit/model_test.rb -n test_name

您可能需要在测试文件中将require 'test_helper'更改为require 'test/test_helper'

如果您真的需要在rake任务中执行此操作,可以尝试:

Dir.glob('test/**/*_test.rb').each do |f|
  puts `ruby #{f}`
end

答案 1 :(得分:0)

也许你可以使用伪变量__FILE__来实现这个目标吗?