Class: Evilution::Integration::RSpec

Inherits:
Base
  • Object
show all
Defined in:
lib/evilution/integration/rspec.rb

Defined Under Namespace

Modules: ExampleFilterApplier Classes: BaselineRunner, CrashDetectorLifecycle, FrameworkLoader, ResultBuilder, StateGuard, TestFileResolver, UnresolvedSpecWarner

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Base

#call

Constructor Details

#initialize(test_files: nil, hooks: nil, related_specs_heuristic: false, fallback_to_full_suite: false, spec_selector: nil, example_filter: nil, framework_loader: FrameworkLoader.new, test_file_resolver: nil, example_filter_applier: nil, crash_detector_lifecycle: CrashDetectorLifecycle.new, result_builder: ResultBuilder.new, state_guard: StateGuard.new) ⇒ RSpec

Returns a new instance of RSpec.



20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/evilution/integration/rspec.rb', line 20

def initialize(
  test_files: nil,
  hooks: nil,
  related_specs_heuristic: false,
  fallback_to_full_suite: false,
  spec_selector: nil,
  example_filter: nil,
  framework_loader: FrameworkLoader.new,
  test_file_resolver: nil,
  example_filter_applier: nil,
  crash_detector_lifecycle: CrashDetectorLifecycle.new,
  result_builder: ResultBuilder.new,
  state_guard: StateGuard.new
)
  @framework_loader = framework_loader
  @test_file_resolver = test_file_resolver || TestFileResolver.new(
    test_files: test_files,
    spec_selector: spec_selector || Evilution::SpecSelector.new,
    related_spec_heuristic: Evilution::RelatedSpecHeuristic.new,
    related_specs_heuristic_enabled: related_specs_heuristic,
    fallback_to_full_suite: fallback_to_full_suite,
    warner: UnresolvedSpecWarner.new
  )
  @example_filter_applier = example_filter_applier || build_example_filter_applier(example_filter)
  @crash_detector_lifecycle = crash_detector_lifecycle
  @result_builder = result_builder
  @state_guard = state_guard
  super(hooks: hooks)
end

Class Method Details

.baseline_optionsObject



16
17
18
# File 'lib/evilution/integration/rspec.rb', line 16

def self.baseline_options
  { runner: baseline_runner }
end

.baseline_runnerObject



12
13
14
# File 'lib/evilution/integration/rspec.rb', line 12

def self.baseline_runner
  BaselineRunner.new
end