Как запустить полный пакет MiniTest без Rake?

Уже просмотрел этот вопрос, и это более или менее отражает то, как я сейчас запускаю весь свой пакет.

Кроме того, я настроил следующую задачу rake:

Rake::TestTask.new do |t|
  t.name = "spec:models"
  t.libs << "test"
  t.pattern = "spec/models/*_spec.rb"
end

Но я заметил, что когда я запускаю ее с использованием time rake spec:models, она завершается примерно за 2,36 секунды. Если я запущу все отдельные тесты в этом каталоге, используя ruby ​​/path/to/spec.rb(в настоящее время все они изолированы от ActiveRecord — пока нет постоянства, поэтому очень быстро), их совокупное общее время пользователя равно 2.36 секунд, но я также замечаю, что хотя выполнение каждого файла от начала до конца занимает 0,4 пользовательских секунды, фактическое время «теста», сообщаемое MiniTest, намного быстрее (так что весь мой пакет после загрузки зависимостей должен быть выполняется менее чем за 0,15 секунды, а не за 2,36 секунды).

Пример (для одного файла спецификации):

Started

11/11:         100% |======================================| Time: 00:00:00

Finished in 0.02223s
11 tests, 15 assertions, 0 failures, 0 errors, 0 skips
ruby path/to/spec.rb  0.43s user 0.06s system 88% cpu 0.559 total

Я подозреваю, что Rake перезагружает библиотеки между выполнением каждого теста, и это объясняет дополнительное время. Могу ли я в любом случае проверить это или запустить весь пакет без использования Rake?

Кстати, когда я ранее говорил «время пользователя», я имел в виду первое число, выводимое путем добавления timeк моей команде ruby ​​для запуска одного тестового файла, поэтому time ruby ​​/ путь/к/spec.rb= ruby ​​путь/к/spec.rb 0,43 с пользователь 0,06 с система 88% ЦП 0,559 всего

8
задан Community 23 May 2017 в 12:01
поделиться