Module: Henitai::Integration
- Defined in:
- lib/henitai/integration.rb,
lib/henitai/integration/base.rb,
lib/henitai/integration/minitest.rb,
lib/henitai/integration/child_bootstrap.rb,
lib/henitai/integration/child_debug_log.rb,
lib/henitai/integration/loaded_features.rb,
lib/henitai/integration/minitest_load_path.rb,
lib/henitai/integration/mutant_run_support.rb,
lib/henitai/integration/rspec_child_runner.rb,
lib/henitai/integration/coverage_suppression.rb,
lib/henitai/integration/minitest_test_runner.rb,
lib/henitai/integration/rspec_process_runner.rb,
lib/henitai/integration/rspec_test_selection.rb,
lib/henitai/integration/scenario_log_support.rb,
lib/henitai/integration/child_runtime_control.rb,
lib/henitai/integration/minitest_suite_command.rb,
lib/henitai/integration/rails_environment_preloader.rb,
sig/henitai.rbs,
sig/henitai.rbs,
sig/henitai.rbs,
sig/henitai.rbs
Overview
Namespace for test-framework integrations.
An Integration is responsible for:
1. Discovering test files relevant to a Subject (test selection)
2. Running the selected tests in a child process with a mutant injected
3. Reporting pass/fail/timeout to the runner
Test selection uses longest-prefix matching:
Subject expression "Foo::Bar#method" matches example groups whose
description contains "Foo::Bar" or "Foo::Bar#method".
Built-in integrations:
rspec — RSpec 3.x
Defined Under Namespace
Modules: ChildBootstrap, ChildRuntimeControl, CoverageRuntimeSuppressors, CoverageStartSuppressor, MinitestLoadPath, MutantRunSupport, RspecChildRunner, RspecTestSelection, SchedulerDiagnostics, SimpleCovStartSuppressor
Classes: Base, ChildDebugLog, ChildHandle, LoadedFeatures, Minitest, MinitestSuiteCommand, MinitestTestRunner, RailsEnvironmentPreloader, Rspec, RspecProcessRunner, ScenarioLogSupport
Constant Summary
collapse
- REQUIRE_DIRECTIVE_PATTERN =
Class Method Summary
collapse
Instance Method Summary
collapse
Class Method Details
.for(name) ⇒ Class
Integration adapter for RSpec.
This class exists as the stable public entry point for the RSpec
integration, even though the concrete behavior is not implemented yet.
38
39
40
41
42
43
44
45
46
47
|
# File 'lib/henitai/integration.rb', line 38
def self.for(name)
const_get(name.capitalize)
rescue NameError
available = constants.filter_map do |constant_name|
integration = const_get(constant_name)
constant_name.to_s.downcase if integration.is_a?(Class) && integration < Base
end.sort.join(", ")
raise ArgumentError, "Unknown integration: #{name}. Available: #{available}"
end
|
Instance Method Details
#build_rspec_runner ⇒ Object
135
|
# File 'sig/henitai.rbs', line 135
def build_rspec_runner: () -> untyped
|
120
|
# File 'sig/henitai.rbs', line 120
def child_debug_log: () -> Integration::ChildDebugLog
|
This method returns an undefined value.
136
|
# File 'sig/henitai.rbs', line 136
def configure_rspec_runner: (untyped) -> void
|
#debug_child_timeout_dump ⇒ void
This method returns an undefined value.
126
|
# File 'sig/henitai.rbs', line 126
def debug_child_timeout_dump: (Integer) -> void
|
#excluded_spec_files ⇒ Array[String]
150
|
# File 'sig/henitai.rbs', line 150
def excluded_spec_files: () -> Array[String]
|
#expand_candidates ⇒ Array[String]
161
|
# File 'sig/henitai.rbs', line 161
def expand_candidates: (String, String) -> Array[String]
|
#fallback_spec_files ⇒ Array[String]
149
|
# File 'sig/henitai.rbs', line 149
def fallback_spec_files: (Subject) -> Array[String]
|
#install_debug_timeout_trap ⇒ void
This method returns an undefined value.
127
|
# File 'sig/henitai.rbs', line 127
def install_debug_timeout_trap: () -> void
|
#load_rspec_spec_files ⇒ void
This method returns an undefined value.
137
|
# File 'sig/henitai.rbs', line 137
def load_rspec_spec_files: (Array[String]) -> void
|
#pause ⇒ void
This method returns an undefined value.
128
|
# File 'sig/henitai.rbs', line 128
def pause: (Float) -> void
|
#relative_candidates ⇒ Array[String]
159
|
# File 'sig/henitai.rbs', line 159
def relative_candidates: (String, String) -> Array[String]
|
#require_candidates ⇒ Array[String]
160
|
# File 'sig/henitai.rbs', line 160
def require_candidates: (String, String) -> Array[String]
|
#required_files ⇒ Array[String]
157
|
# File 'sig/henitai.rbs', line 157
def required_files: (String) -> Array[String]
|
#requires_source_file? ⇒ Boolean
155
|
# File 'sig/henitai.rbs', line 155
def requires_source_file?: (String, String) -> bool
|
#requires_source_file_transitively? ⇒ Boolean
156
|
# File 'sig/henitai.rbs', line 156
def requires_source_file_transitively?: (String, String, ?Array[String]) -> bool
|
#resolve_required_file ⇒ String?
158
|
# File 'sig/henitai.rbs', line 158
def resolve_required_file: (String, String, String) -> String?
|
#rspec_config_lines ⇒ Array[String]
152
|
# File 'sig/henitai.rbs', line 152
def rspec_config_lines: () -> Array[String]
|
#rspec_config_path ⇒ String
153
|
# File 'sig/henitai.rbs', line 153
def rspec_config_path: () -> String
|
#rspec_exclude_patterns ⇒ Array[String]
151
|
# File 'sig/henitai.rbs', line 151
def rspec_exclude_patterns: () -> Array[String]
|
#run_rspec_runner ⇒ Object
134
|
# File 'sig/henitai.rbs', line 134
def run_rspec_runner: (Array[String]) -> untyped
|
#run_rspec_specs ⇒ Object
138
|
# File 'sig/henitai.rbs', line 138
def run_rspec_specs: (untyped) -> untyped
|
#select_tests ⇒ Array[String]
144
|
# File 'sig/henitai.rbs', line 144
def select_tests: (Subject) -> Array[String]
|
#selection_patterns ⇒ Array[String]
154
|
# File 'sig/henitai.rbs', line 154
def selection_patterns: (Subject) -> Array[String]
|
#spec_files ⇒ Array[String]
148
|
# File 'sig/henitai.rbs', line 148
def spec_files: () -> Array[String]
|
#suppress_coverage! ⇒ void
This method returns an undefined value.
125
|
# File 'sig/henitai.rbs', line 125
def suppress_coverage!: () -> void
|
#suppress_simplecov! ⇒ void
This method returns an undefined value.
124
|
# File 'sig/henitai.rbs', line 124
def suppress_simplecov!: () -> void
|