Configurable colors
RSpec allows you to configure the terminal colors used in the text formatters.
failure_color
: Color used when tests fail (default::red
)success_color
: Color used when tests pass (default::green
)pending_color
: Color used when tests are pending (default::yellow
)fixed_color
: Color used when a pending block inside an example passes, but was expected to fail (default::blue
)detail_color
: Color used for miscellaneous test details (default::cyan
)
Colors are specified as symbols. Options are :black
, :red
, :green
,
:yellow
, :blue
, :magenta
, :cyan
, :white
, :bold_black
, :bold_red
,
:bold_green
, :bold_yellow
, :bold_blue
, :bold_magenta
, :bold_cyan
,
and :bold_white
,
Customizing the failure color
Given a file named “customfailurecolor_spec.rb” with:
RSpec.configure do |config|
config.failure_color = :magenta
config.color_mode = :on
end
RSpec.describe "failure" do
it "fails and uses the custom color" do
expect(2).to eq(4)
end
end
When I run rspec custom_failure_color_spec.rb --format progress
Then the failing example is printed in magenta.
Customizing the failure color with a custom console code
Given a file named “customfailurecolor_spec.rb” with:
RSpec.configure do |config|
config.failure_color = "1;32"
config.color_mode = :on
end
RSpec.describe "failure" do
it "fails and uses the custom color" do
expect(2).to eq(4)
end
end
When I run rspec custom_failure_color_spec.rb --format progress
Then the failing example is printed wrapped in “1;32”.