Class: Kaisoku::Adapters::RSpecAdapter

Inherits:
Kaisoku::Adapter show all
Defined in:
lib/kaisoku/adapters/rspec.rb

Constant Summary collapse

ADAPTER_NAME =
'rspec'

Instance Attribute Summary

Attributes inherited from Kaisoku::Adapter

#configuration

Instance Method Summary collapse

Methods inherited from Kaisoku::Adapter

#after_fork, #before_fork, #initialize

Constructor Details

This class inherits a constructor from Kaisoku::Adapter

Instance Method Details

#discover(paths = nil) ⇒ Object



11
12
13
# File 'lib/kaisoku/adapters/rspec.rb', line 11

def discover(paths = nil)
  ruby_test_files(paths, default_dir: 'spec', suffix: '_spec.rb').flat_map { |file| groups_in(file) }
end

#entity_granularityObject



28
29
30
# File 'lib/kaisoku/adapters/rspec.rb', line 28

def entity_granularity
  :group
end

#run(entities, reporter:, &lifecycle) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/kaisoku/adapters/rspec.rb', line 15

def run(entities, reporter:, &lifecycle)
  require 'rspec/core'

  lifecycle ||= proc {}

  entities.each do |entity|
    started_at = monotonic_milliseconds
    lifecycle.call(:entity_started, entity, {})
    status_code = ::RSpec::Core::Runner.run([execution_target(entity)], $stderr, $stdout)
    lifecycle.call(:entity_finished, entity, result_payload(status_code, started_at))
  end
end

#supports_dry_run?Boolean

Returns:

  • (Boolean)


32
33
34
# File 'lib/kaisoku/adapters/rspec.rb', line 32

def supports_dry_run?
  true
end