Ruby on rails 如何让Rspec运行嵌套在文件夹下的所有测试?
我喜欢在单独的选项卡中运行Spork来运行我的Rspec测试。我通常使用Ruby on rails 如何让Rspec运行嵌套在文件夹下的所有测试?,ruby-on-rails,ruby,rspec,Ruby On Rails,Ruby,Rspec,我喜欢在单独的选项卡中运行Spork来运行我的Rspec测试。我通常使用rspec spec运行测试,我想说“递归搜索并运行spec文件夹中的所有内容。” 我最近意识到,这实际上并没有运行我所有的测试。我现在在spec/requests中有一个spec文件,它没有运行。我之所以知道这一点,是因为我编辑了其中一个测试以引发错误,并运行了以下操作: rspec规范-未引发任何错误 rspec规范/请求-仍然没有出现错误,并且0个示例,0个失败 rspec spec/requests/my_cont
rspec spec
运行测试,我想说“递归搜索并运行spec
文件夹中的所有内容。”
我最近意识到,这实际上并没有运行我所有的测试。我现在在spec/requests
中有一个spec文件,它没有运行。我之所以知道这一点,是因为我编辑了其中一个测试以引发错误,并运行了以下操作:
-未引发任何错误rspec规范
-仍然没有出现错误,并且rspec规范/请求
李>0个示例,0个失败
-宾果游戏<代码>17个示例,1个故障,故障有我的错误信息rspec spec/requests/my_controller.rb
(顺便说一句,不使用Spork没有什么区别。)Rspec应该已经递归地查看您命名的目录并找到所有测试。但是请注意,它正在查找以
\u spec.rb
结尾的文件。可能您的某些文件命名不正确
如果需要更具体地说明应该查找哪些文件,还可以使用
--pattern
选项。例如:rspec--pattern spec/requests/*.\u spec.rb
。(选项--pattern
等于-P
。取自rspec--help
)您可以创建一个rake任务
desc "Run PCMag tests"
RSpec::Core::RakeTask.new('test') do |t|
t.rspec_opts = ["-Ilib","--format documentation","--color"]
t.pattern = ['spec/test/*.rb']
end
然后执行命令rake test
上述命令将执行文件夹“test”下的所有.rb测试
请查看以下链接以了解更多详细信息