1

我有以下配置来运行 gem 的测试:

require 'rake/testtask'

Rake::TestTask.new(:test) do |t|
  t.libs << 'lib'
  t.libs << 'test'
  t.pattern = 'test/**/*_test.rb'
  t.verbose = false
end

在我test的文件夹中,我有一个文件夹(比方说skipped_tests),其中包含我不想使用此任务进行测试的测试。是否可以调整模式以跳过特定文件夹,如下所示:

t.pattern = 'test/^skipped_tests/*_test.rb'

请分享您对此的看法。

谢谢

4

2 回答 2

2

您可以使用test_files而不是pattern这样:

t.test_files = Dir['test/**/*_test.rb'].reject do |path| 
  path.include?('skipped_test')
end
于 2013-04-22T11:55:24.063 回答
0

一种选择是将 aFileListtest_files属性一起使用。它可能比手动执行剔除更简洁(和/或精确)。

因此,OP 的示例将变为:

require 'rake/testtask'

Rake::TestTask.new(:test) do |t|
  t.libs << 'lib'
  t.libs << 'test'
  t.test_files = FileList['test/**/*_test.rb'].exclude('test/skipped_tests/**/*')
  t.verbose = false
end
于 2019-03-17T19:50:43.393 回答