Class: Cucumber::Formatter::Rerun
- Inherits:
-
Object
- Object
- Cucumber::Formatter::Rerun
- Includes:
- Io
- Defined in:
- lib/cucumber/formatter/rerun.rb
Instance Method Summary collapse
-
#initialize(config) ⇒ Rerun
constructor
A new instance of Rerun.
Methods included from Io
ensure_dir, ensure_file, ensure_io, included, io?, url?
Constructor Details
#initialize(config) ⇒ Rerun
Returns a new instance of Rerun.
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/cucumber/formatter/rerun.rb', line 10 def initialize(config) @io = ensure_io(config.out_stream, config.error_stream) @config = config @failures = {} config.on_event :test_case_finished do |event| test_case, result = *event.attributes if @config.strict.strict?(:flaky) next if result.ok?(strict: @config.strict) add_to_failures(test_case) else unless @latest_failed_test_case.nil? if @latest_failed_test_case != test_case add_to_failures(@latest_failed_test_case) @latest_failed_test_case = nil elsif result.ok?(strict: @config.strict) @latest_failed_test_case = nil end end @latest_failed_test_case = test_case unless result.ok?(strict: @config.strict) end end config.on_event :test_run_finished do add_to_failures(@latest_failed_test_case) unless @latest_failed_test_case.nil? next if @failures.empty? @io.print file_failures.join("\n") end end |