OOZOU
與我們聯繫
Back to TIL
ruby

Suppress rspec warnings

October 13, 2020
$ RUBYOPT=W0 ./bin/rspec spec/
...

$ RUBYOPT=W0 bundle exec rspec spec/
...

$ RUBYOPT=W0 rspec
...

$ RUBYOPT=W0 ...
...

RSpec warnings can clutter your test output and make logs harder to read, especially in large Rails projects. Here’s how to suppress them effectively while maintaining a clean workflow.

Suppress Warnings Globally

You can disable warnings for your entire test suite by adding the following to spec_helper.rb or rails_helper.rb:

$VERBOSE = nil

Use Case: Ideal for quickly silencing all warnings, but it may hide important information across your app and dependencies.

Suppress Specific Warnings

Wrap warning-generating code in a suppression block:

def suppress_warnings 
original_verbose = $VERBOSE 
$VERBOSE = nil 
yield 
ensure 
$VERBOSE = original_verbose 
end 

suppress_warnings do 
require 'some_gem_with_warnings' 
end

Use Case: Useful for isolating warnings to specific dependencies or blocks of code.

Suppress RSpec Warnings

RSpec provides built-in configuration for managing its own warnings. Add this to your spec_helper.rb:

RSpec.configure do |config| 
config.warnings = false 
end

Use Case: Suppresses RSpec-specific warnings while keeping Ruby and dependency warnings visible.

Redirect Deprecation Warnings

For deprecation warnings, redirect them to a log file for review:

RSpec.configure do |config| 
config.deprecation_stream = File.open('log/rspec_deprecations.log', 'w') 
end

Use Case: Keeps test output clean while preserving visibility into deprecations.

Environment-Specific Suppression

Suppress warnings only in specific environments, such as CI:

$VERBOSE = nil if ENV['SUPPRESS_WARNINGS'] == 'true'

Use Case: Allows warnings during local development but hides them in CI for cleaner logs.

By tailoring these approaches to your needs, you can keep your test outputs clean and actionable, improving productivity in development and CI workflows.

More on ruby

rubyApril 30, 2021

Allow pasting multiline ruby blocks in Pry when using leading dot notation

We use leading dot notation a lot now e.g.

rubyOctober 14, 2020

Heredoc without interpolation

Sometimes you want to use Ruby's Heredoc without interpolation ('#{....}'). You can do this by adding single dashes around your keyword:

rubyOctober 13, 2020

Automagical Intermediate-level Hashtables in Ruby

All intermediate-level hashtables will be created automagically

有專案構想嗎?

我們很樂意聆聽您正在打造的產品。

開始對話hello@oozou.com
OOZOU Logo

曼谷 · 新加坡 · 香港

X
Facebook
Instagram
LinkedIn

服務

  • Web 開發
  • AI 與生成式 AI 解決方案
  • 行動應用程式開發
  • 資料分析與工程
  • UI/UX 設計與產品設計
  • 數位轉型

公司

  • 關於我們
  • 職涯
  • 部落格
  • 白皮書
  • 案例研究
  • Today I Learned
  • 聯繫我們

更多

  • 產業
  • 索取報價
  • 合作夥伴網絡
© 2026 OOZOU. 版權所有。
隱私政策行為準則反賄賂反貪腐政策