class KnapsackPro::SlowTestFileFinder
Public Class Methods
call(adapter_class)
click to toggle source
Get recorded test files from API. Find slow tests among them that are still present on the disk. Save slow test files in json file on the disk. Returns slow test files.
# File lib/knapsack_pro/slow_test_file_finder.rb, line 9 def self.call(adapter_class) if KnapsackPro::Config::Env.test_files_encrypted? raise "Split by test cases is not possible when you have enabled test file names encryption ( #{KnapsackPro::Urls::ENCRYPTION} ). You need to disable encryption with KNAPSACK_PRO_TEST_FILES_ENCRYPTED=false in order to use split by test cases #{KnapsackPro::Urls::SPLIT_BY_TEST_EXAMPLES}" end # get list of recorded test files for last CI Build build_distribution_entity = KnapsackPro::BuildDistributionFetcher.call test_files_from_api = build_distribution_entity.test_files merged_test_files_from_api = KnapsackPro::TestCaseMergers::BaseMerger.call(adapter_class, test_files_from_api) test_files_existing_on_disk = KnapsackPro::TestFileFinder.select_test_files_that_can_be_run(adapter_class, merged_test_files_from_api) slow_test_files = KnapsackPro::SlowTestFileDeterminer.call(test_files_existing_on_disk) KnapsackPro::SlowTestFileDeterminer.save_to_json_report(slow_test_files) slow_test_files end