Как отсортировать тест по времени модификации в Rspec - PullRequest
0 голосов
/ 23 января 2020

Как переопределить Rspe c порядок по умолчанию для запуска теста по времени изменения файла?

1 Ответ

4 голосов
/ 23 января 2020

Просто добавьте эту конфигурацию к вам test_helper / spec_helper / rails_helper:

RSpec.configure do |config|
  config.register_ordering(:global) do |items|
    items.sort_by { |item| -File.mtime(item.metadata[:absolute_file_path]).to_i }
  end
end

Объяснение: Rspe c позволяет вам определять заказ с помощью config.resgister_orderdering. В этом случае мы переопределяем глобальный конфиг. Все, что вам нужно сделать, это передать блок, в котором вы определяете свою пользовательскую функцию упорядочения.

  • item.metadata[:absolute_file_path] получает путь к файлу вашего тестового файла.
  • File.mtime получает время модификации файла и знак минус в обратном порядке их порядка
...