--require 选项

使用 `--require` (或 `-r`) 选项指定在运行规范之前要加载的文件。

使用 `--require` 选项

给定一个名为“logging_formatter.rb”的文件,其中包含

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

以及一个名为“spec/example_spec.rb”的文件,其中包含

RSpec.describe "an embarrassing situation" do
  it "happens to everyone" do
  end
end

当我运行 `rspec --require ./logging_formatter.rb --format LoggingFormatter` 时

那么输出应该包含“1 个示例,0 个失败”

以及文件“rspec.log”应该包含“1 个示例,0 个失败”

以及退出状态应为 0。