Jee*_*hut 3 testing logging ruby-on-rails sidekiq
我使用 Rails 4 默认测试框架并编写了一些测试,这些测试也希望 Sidekiq 在“后台”做一些工作。但是当我运行时,rake test我的测试结果如下所示:
.............2014-08-01T05:40:52Z 12000 TID-abcdef123 INFO: Sidekiq client with redis options {}
.....................................
Finished in 3.0s, 9.000 runs/s, 150.000 assertions/s.
30 runs, 400 assertions, 0 failures, 0 errors, 0 skips
Run Code Online (Sandbox Code Playgroud)
现在测试看起来不错,但是 Sidekiq 工人的日志真的很烦人。为了防止这个日志发生,我在我的工人班上试过这个:
class MyWorker
include Sidekiq::Worker
sidekiq_options queue: :my_queue
def initialize
Rails.logger.level = 2 # set to :warn level
super
end
def perform(movie_id)
# Rails.logger.level = 0 # set back to :debug level?
# some code
end
end
Run Code Online (Sandbox Code Playgroud)
Rails.logger.level注释和取消注释的行,但记录的行并没有消失。在运行时如何防止 Sidekiq 记录此内容rake test?
您可以将以下行添加到您的 sidekiq 初始值设定项 ( config/initializers/sidekiq.rb) 以将其关闭:
if Rails.env.test?
Sidekiq.logger.level = Logger::WARN
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1411 次 |
| 最近记录: |