Как настроить sbt test / ScalaTest, чтобы показывать только сбои?
Есть ли способ усечь результаты теста, чтобы показывать текст результата только для модульных тестов, когда модульный тест не удался? Я работаю над проектом Scala, который имеет 850 модульных тестов, и зеленый текст успешных модульных тестов затрудняет фокусирование внимания только на неудачах.
Пример того, о чем я говорю:
[info] - should have colors
[info] - should not be dead
//.... x 100
[info] - animals should not be rainbows *** FAILED ***
[info] -"[rainbow]s" was not equal to "[ponie]s" (HappinessSpec.scala:31)
То, что я хотел бы, - это то, что просто показывает неудачу (Неудачи):
[info] - animals should not be rainbows *** FAILED ***
[info] -"[rainbow]s" was not equal to "[ponie]s" (HappinessSpec.scala:31)
Я понимаю, что есть команда test-quick
sbt, но она все еще работает 300 успешный
модульные тесты в моем случае, когда есть только 30 отказов.
Что-то в этом роде с точки зрения использования - это то, что я ищу:
sbt> ~ test -showOnlyFailures
Я также был бы доволен чем-то, что показывает все неудачи в конце бега модульный тест. IIRC, вот как RSpec работает в Ruby...
4 ответа:
После добавления в build следующего.sbt, scalaTest покажет сводку ошибок после стандартного отчета:
testOptions in Test += Tests.Argument("-oI") I - show reminder of failed and canceled tests without stack traces T - show reminder of failed and canceled tests with short stack traces G - show reminder of failed and canceled tests with full stack traces
Существует также флаг" drop TestSucceeded events", но я не смог его использовать: http://www.scalatest.org/user_guide/using_the_runner
Для тех, кто использует maven с плагином scalatest-maven, вы можете добавить следующую конфигурацию:
<configuration> <stdout>I</stdout> </configuration>
Обновленный ответ для Scalatest 3.
Вот новый синтаксис для вашего файла
build.sbt
, чтобы перепечатать все ошибки в нижней части запуска набора тестов:testOptions in Test += Tests.Argument(TestFrameworks.ScalaTest, "-oI")
Вы также можете отключить информационные уведомления, чтобы легче было видеть сбои.
testOptions in Test += Tests.Argument(TestFrameworks.ScalaTest, "-oNCXELOPQRM")
Вот что представляют собой все варианты:
- n-drop teststarting events
- C-drop TestSucceeded events
- x-drop TestIgnored events
- E-drop TestPending события
- H-drop SuiteStarting events
- L-drop SuiteCompleted events
- O-drop InfoProvided events
- P-drop ScopeOpened events
- Q-drop ScopeClosed events
- R-drop ScopePending события
- M-drop MarkupProvided events
"-oI"
выводит уведомления об ошибках снова в конце выполнения набора тестов, в то время как"-oNCXELOPQRM"
показывает только те тесты, которые завершились неудачей.См. раздел настройка репортеров на ScalaTest website для более подробной информации.