Class: KnapsackPro::TestSuite

Inherits:
Object
  • Object
show all
Defined in:
lib/knapsack_pro/test_suite.rb

Defined Under Namespace

Classes: Result

Instance Method Summary collapse

Constructor Details

#initialize(adapter_class) ⇒ TestSuite

Returns a new instance of TestSuite.



7
8
9
# File 'lib/knapsack_pro/test_suite.rb', line 7

def initialize(adapter_class)
  @adapter_class = adapter_class
end

Instance Method Details

#all_test_files_to_runObject



28
29
30
# File 'lib/knapsack_pro/test_suite.rb', line 28

def all_test_files_to_run
  @all_test_files_to_run ||= KnapsackPro::TestFileFinder.call(TestFilePattern.call(adapter_class))
end

#calculate_test_filesObject



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/knapsack_pro/test_suite.rb', line 11

def calculate_test_files
  return @result if defined?(@result)

  unless adapter_class.split_by_test_cases_enabled?
    return @result = Result.new(all_test_files_to_run, true)
  end

  if KnapsackPro::Config::Env.slow_test_file_pattern
    slow_test_files = KnapsackPro::TestFileFinder.slow_test_files_by_pattern(adapter_class)
    return @result = Result.new(all_test_files_to_run, true) if slow_test_files.empty?
  end

  slow_id_paths = adapter_class.calculate_slow_id_paths
  test_files = adapter_class.concat_test_files(all_test_files_to_run, slow_id_paths)
  @result = Result.new(test_files, false)
end