如何手动指定要在自动测试中运行的测试文件?

时间:2009-12-31 01:57:17

标签: ruby unit-testing autotest

如何在非测试文件更新时手动指定应运行哪些测试/单元测试文件?

2 个答案:

答案 0 :(得分:3)

您可以在~/.autotest<project_path>/.autotest文件中创建自定义映射,如下所示:

Autotest.add_hook :initialize do |at|
  at.add_mapping(/lib\/foo\/(.*).rb/, true) do |filename, matchdata|
    ["spec/lib/foo/#{matchdata[1]}_spec.rb"]
  end
end

这会将spec/lib/foo目录中的规范与lib/foo个文件进行匹配,因此一旦lib/foo下的文件发生更改,这些规范就会运行。我想你可以对test目录做同样的事情。

答案 1 :(得分:0)

重新定义Autotest#test_files_for(filename)以返回测试文件名的字符串数组。

有些教程会引用tests_for_file,但这是该方法的旧名称:它是changed in ZenTest 3.9.0test_files_for

同样,重新定义tests_files_for无济于事。