Форкинг каждого набора ScalaTest с помощью sbt - PullRequest
0 голосов
/ 07 апреля 2020

Мне нужно выполнить несколько интеграционных тестов, и я бы хотел, чтобы каждый набор тестов работал на собственной разветвленной виртуальной машине. Различные наборы должны запускаться последовательно, и тесты внутри каждого набора также должны выполняться последовательно.

Достижимо ли это с помощью sbt / scalatest без особых усилий? Я знаю, что могу запустить весь набор тестов на разветвленной виртуальной машине, но это слишком мало для моих нужд.

Спасибо

1 Ответ

0 голосов
/ 07 апреля 2020

После некоторого копания это, кажется, делает свое дело. Каждый комплект будет работать на разветвленном экземпляре:

fork in Test := true
testGrouping in Test := (definedTests in Test).value.map { suite =>
  Group(suite.name, Seq(suite), SubProcess(ForkOptions()))
}

Хотя definedTests выглядит так, как будто он получает список тестов, на самом деле он получает список тестовых наборов. Затем, для каждого из них, мы просто передадим SubProcess, который сообщает sbt, что нужно форкнуть процесс.

...