--require
option
Use the --require
(or -r
) option to specify a file to require before
running specs.
Using the --require
option
Given a file named “logging_formatter.rb” with:
require "rspec/core/formatters/base_text_formatter"
require 'delegate'
class LoggingFormatter < RSpec::Core::Formatters::BaseTextFormatter
RSpec::Core::Formatters.register self, :dump_summary
def initialize(output)
super LoggingIO.new(output)
end
class LoggingIO < SimpleDelegator
def initialize(output)
@file = File.new('rspec.log', 'w')
super
end
def puts(*args)
[@file, __getobj__].each { |out| out.puts(*args) }
end
def close
@file.close
end
end
end
And a file named “spec/example_spec.rb” with:
RSpec.describe "an embarrassing situation" do
it "happens to everyone" do
end
end
When I run rspec --require ./logging_formatter.rb --format LoggingFormatter
Then the output should contain “1 example, 0 failures”
And the file “rspec.log” should contain “1 example, 0 failures”
And the exit status should be 0.