Как объеденить вывод результатов тестов при запуске всех тестов в проекте?

Рейтинг: 0Ответов: 1Опубликовано: 03.03.2023

В прокете есть несколько модулей, в нескольких модулях есть тесты.
При запуске тестов через sbt из корня проекта в консоль выводятся результаты тестов, но они разделены по модулям.
Для каждого модуля в котором есть тесты, в консоль будет выведено примерно следующее:

...
[info] Run completed in 5 seconds, 437 milliseconds.
[info] Total number of tests run: 2
[info] Suites: completed 1, aborted 0
[info] Tests: succeeded 2, failed 0, canceled 0, ignored 0, pending 0
...
[info] Run completed in 3 seconds, 128 milliseconds.
[info] Total number of tests run: 5
[info] Suites: completed 1, aborted 0
[info] Tests: succeeded 5, failed 0, canceled 0, ignored 0, pending 0
...

А хочется что бы все результаты были собраны вместе был один общий результат по количеству тестов и их времени выполнения.

Ответы

▲ 0

Это можно сделать через специальный sbt-плагин: https://github.com/scoverage/sbt-scoverage

Он работает для Scala 2.12, 2.13 и 3.

Например, вы можете выполнить sbt coverage test coverageAggregate. Команда запустит sbt, включит режим "покрытия тестами", запустит все тесты для модулей, указанных в root (aggragete), и сделает суммарный отчет. Отчет включает указание тестов, покрытие кода. Но не знаю, включает ли время выполнения.