Minitest-cc: минималистский подход к покрытию кода с помощью Minitest

Это легкий и удобный подключаемый модуль для среды тестирования Minitest, который обеспечивает простую оценку покрытия кода вашими тестами.

Minitest-cc — это плагин для Minitest, который обеспечивает минимальную меру покрытия кода вашими тестами. Важно понимать, что эта информация является только справочной и не показывает, насколько эффективны ваши тесты.

Установить Minitest-cc очень просто. Вы можете добавить его в свой Gemfile, включив следующую строку:

gem 'minitest-cc'

После добавления драгоценного камня в ваш Gemfile вам нужно указать его в самом верху вспомогательного файла теста, а затем запустить его с помощью Minitest::Cc.start. Вот пример:

require 'minitest/cc'
Minitest::Cc.start

При запуске тестов вы увидите сводную информацию о покрытии кода, как показано ниже:

Running 8 tests in a single process (parallelization threshold is 50) 
Run options: --seed 26716 
 
# Running: 
 
........ 
 
# Coverage: 
 
Lines: 100.0%   Branches: 50.0% Methods: 100.0% 
 
Average: 83.33% 
 
 
Finished in 0.823512s, 9.7145 runs/s, 10.9288 assertions/s. 
8 runs, 9 assertions, 0 failures, 0 errors, 0 skips

По умолчанию Minitest-cc показывает общий процент покрытия кода для строк, ветвей и методов.

Однако вы можете настроить Minitest-cc для отслеживания файлов, отображения покрытия для каждого файла или изменения показателей по умолчанию. Вы можете сделать это, передав аргументы в Minitest::Cc.start.

Вот пример, который показывает, как настроить Minitest-cc для отслеживания файлов и отображения покрытия для каждого файла:

Minitest::Cc.start(:lines, :branches, :methods)
Minitest::Cc.tracked_files = [
  './app/**/*.rb',
  './lib/**/*.rb'
]
Minitest::Cc.cc_mode = :per_file

Вы можете настроить, какие показатели отслеживать и как отображать отчет о покрытии. Режим :per_file покажет вам покрытие для каждого файла в отслеживаемых файлах.

В заключение, Minitest-cc — это простой и минималистичный плагин покрытия кода для Minitest, который может помочь вам получить представление о том, насколько хорошо ваши тесты покрывают ваш код. Хотя он не обеспечивает такой же уровень детализации, как более сложные инструменты, такие как SimpleCov, он может быть полезен в ситуациях, когда вам нужно быстро оценить покрытие тестами.