Class: Evilution::Integration::Minitest
- Defined in:
- lib/evilution/integration/minitest.rb
Class Method Summary collapse
- .baseline_options ⇒ Object
- .baseline_runner ⇒ Object
- .baseline_test_files(test_file) ⇒ Object
- .run_baseline_minitest ⇒ Object
- .run_baseline_test_file(test_file) ⇒ Object
Instance Method Summary collapse
-
#initialize(test_files: nil, hooks: nil, fallback_to_full_suite: false, spec_selector: nil) ⇒ Minitest
constructor
A new instance of Minitest.
Methods inherited from Base
Constructor Details
#initialize(test_files: nil, hooks: nil, fallback_to_full_suite: false, spec_selector: nil) ⇒ Minitest
Returns a new instance of Minitest.
48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/evilution/integration/minitest.rb', line 48 def initialize(test_files: nil, hooks: nil, fallback_to_full_suite: false, spec_selector: nil) @test_files = test_files @minitest_loaded = false @spec_selector = spec_selector || Evilution::SpecSelector.new( spec_resolver: Evilution::SpecResolver.new(test_dir: "test", test_suffix: "_test.rb", request_dir: "integration") ) @fallback_to_full_suite = fallback_to_full_suite @crash_detector = nil @warned_files = Set.new super(hooks: hooks) end |
Class Method Details
.baseline_options ⇒ Object
40 41 42 43 44 45 46 |
# File 'lib/evilution/integration/minitest.rb', line 40 def self. { runner: baseline_runner, spec_resolver: Evilution::SpecResolver.new(test_dir: "test", test_suffix: "_test.rb", request_dir: "integration"), fallback_dir: "test" } end |
.baseline_runner ⇒ Object
12 13 14 |
# File 'lib/evilution/integration/minitest.rb', line 12 def self.baseline_runner ->(test_file) { run_baseline_test_file(test_file) } end |
.baseline_test_files(test_file) ⇒ Object
24 25 26 |
# File 'lib/evilution/integration/minitest.rb', line 24 def self.baseline_test_files(test_file) File.directory?(test_file) ? Dir.glob(File.join(test_file, "**/*_test.rb")) : [test_file] end |
.run_baseline_minitest ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/evilution/integration/minitest.rb', line 28 def self.run_baseline_minitest out = StringIO.new = ::Minitest.process_args(["--seed", "0"]) [:io] = out reporter = ::Minitest::CompositeReporter.new reporter << ::Minitest::SummaryReporter.new(out, ) reporter.start ::Minitest.__run(reporter, ) reporter.report reporter.passed? end |
.run_baseline_test_file(test_file) ⇒ Object
16 17 18 19 20 21 22 |
# File 'lib/evilution/integration/minitest.rb', line 16 def self.run_baseline_test_file(test_file) require "minitest" require "stringio" ::Minitest::Runnable.runnables.clear baseline_test_files(test_file).each { |f| load(File.(f)) } run_baseline_minitest end |