Rake TestTask:根据命令行参数运行单个测试

时间:2015-08-02 00:41:48

标签: ruby rake rake-test

我目前使用JSON文件动态生成测试,如下所示:

Rake文件:

#...
Rake::TestTask.new(:run_spec_tests) { |t|
  t.libs = ['lib']
  t.pattern = 'test/test_spec.rb'
  t.verbose = true
  t.warning = false
}

测试/ test_spec.rb

class TestSpec < Minitest::Test
  cases = JSON.parse(open('test/tests.json', 'r').read)
  cases.each do |testcase|
    # run hundreds of tests
    define_method("test_example_#{testcase['example']}") do
      puts "Testing example #{testcase['example']}"
      actual = mything.render(testcase['input'])
      assert_equal testcase['output'], actual, testcase['output']
    end
  end
end

该JSON文件中的每个对象都有一个关联的数字,所以我希望能够引用其中一个测试并让Rake :: TestTask做它的事情。

不幸的是,似乎没有办法将参数传递给像

这样的TestTask
rake test run_spec_test 123

这样TestTask就可以运行以前动态定义的方法之一。

我错过了什么吗?

0 个答案:

没有答案