Запустите тесты в неработающем проекте, используя SBT - PullRequest
7 голосов
/ 24 февраля 2011

При выполнении серьезного рефакторинга в проекте Java Eclipse я часто ломаю сборку, но сосредотачиваюсь на том, чтобы пройти по одному тесту за раз. При запуске тестов Eclipse предупреждает, что проект не может быть скомпилирован, но он все равно будет запускать тесты, которые он может скомпилировать.

Сейчас я использую SBT и хотел бы добиться того же с помощью «только для тестирования», но он пытается скомпилировать весь проект, завершается неудачно и не запускает тесты. Как я могу сказать ему просто скомпилировать биты и запустить тесты.

1 Ответ

6 голосов
/ 24 февраля 2011

Вы должны добавить следующую задачу в определение вашего проекта:

import sbt._

class Project(info: ProjectInfo) extends DefaultProject(info) {

  lazy val justTest = testTask(testFrameworks, testClasspath, testCompileConditional.analysis, testOptions)

}

Это то же самое, что и обычная задача test, но в конце нет зависимостей.Если вы хотите, чтобы у него были зависимости, вызовите dependsOn в выражении testTask(...) и укажите задачи, от которых вы хотите, чтобы оно зависело.

testTask(testFrameworks, testClasspath, testCompileConditional.analysis, testOptions).dependsOn(testCompile, copyResources, copyTestResources) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...