我有以下配置来运行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'
请分享您对此的看法。
谢谢
您可以像这样使用test_files
而不是pattern
:
t.test_files = Dir['test/**/*_test.rb'].reject do |path|
path.include?('skipped_test')
end
一种选择是使用带有FileList
属性的test_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