Rspec:需要规格/工人

时间:2015-11-24 21:24:02

标签: ruby rspec sidekiq

我在app / worker中有一堆Sidekiq工作者,以及spec / worker中的一些匹配规范。如何将两者都添加到我的rspec运行中?在看台上,当我在终端上点击rspec时,不包括任何内容。

1 个答案:

答案 0 :(得分:1)

我看到了一些替代方案:

  • Rspec loading:
    1. 确保spec/worker中的测试文件遵循Rspec的模式设置(例如*.rb*_spec.rb)。
    2. 需要spec_helper.rb
    3. 中的工作人员文件
  • 手动加载:要求spec/worker中的app/workerspec_helper.rb文件使用Ruby定义的glob。
  • Sidekiq helper gem:将rspec-sidekiq gem添加到项目中,explained at Sidekiq's

要将大量文件添加到加载路径,您可以:

  • 在启动过程的早期(例如$:开头)将路径字符串添加到spec_helper.rb全局变量中:

$:.unshift(File.expand_path('../app/workers/**/*_worker.rb', File.dirname(__FILE__))

  • 使用glob加载文件而不修改加载路径:
Dir[File.expand_path('../app/workers/**/*_worker.rb', File.dirname(__FILE__))].each do |file|
  require file
end