如何在运行rake测试时跳过一些测试文件夹

问题描述 投票:1回答:2

我有以下配置来运行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'

请分享您对此的看法。

谢谢

ruby-on-rails ruby rake rake-task rake-test
2个回答
2
投票

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

t.test_files = Dir['test/**/*_test.rb'].reject do |path| 
  path.include?('skipped_test')
end

0
投票

一种选择是使用带有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
© www.soinside.com 2019 - 2024. All rights reserved.