如何通过命令行使用Rake运行指定目录下的所有测试文件?
运行指定目录下的所有Ruby测试文件(非Rails环境)
问题背景
我的测试文件夹结构如下:
app/ test/ folder1/ test1.rb test2.rb folder2/ test2_1.rb test2_2.rb test2_3.rb
我想在命令行运行test/folder2下的所有测试文件,不需要实现Rake TestCase,且当前是非Ruby on Rails环境。之前我尝试过运行rake test TEST=test/folder1/test*.rb,现在需要找到针对folder2的正确命令。
解决方法
直接用通配符匹配folder2下的所有.rb文件即可,执行以下命令:
rake test TEST=test/folder2/*.rb
如果你的shell无法正确解析通配符,也可以用Ruby的glob语法指定路径(会匹配folder2下所有子目录里的.rb文件,若有子目录的话):
rake test TEST='test/folder2/**/*.rb'
补充说明
如果你的Rakefile里配置了基础测试任务,通常非Rails环境下的基础配置类似这样:
task :test do ruby "-Ilib:test" Dir["test/**/*_test.rb"] end
要是你的测试文件名不是*_test.rb格式,需要调整Dir里的匹配规则,或者直接通过TEST参数指定路径来覆盖默认的文件匹配逻辑。
内容的提问来源于stack exchange,提问作者Philippe Perret
相关产品推荐
相关产品推荐

