Как по умолчанию отключить помеченные «Scalatests» с пометкой «Slow», разрешить выполнение с опцией?
Я хочу отключить некоторые автоматические тесты, помеченные как «Медленные» по умолчанию, но позволяю пользователю разрешить их выполнение с помощью простой командной строки. Я предполагаю, что это очень распространенный вариант использования.
Учитывая этот набор тестов:
import org.scalatest.FunSuite
import org.scalatest.tagobjects.Slow
class DemoTestSuite extends FunSuite {
test("demo test tagged as slow", Slow) {
assert(1 + 1 === 2)
}
test("demo untagged test") {
assert(1 + 1 === 2)
}
}
По умолчанию,sbt test
будет запускать тесты с тегами и без тегов.
Если я добавлю следующее в свой build.sbt:
testOptions in Test += Tests.Argument("-l", "org.scalatest.tags.Slow")
Затем я получаю желаемое поведение по умолчанию, при котором выполняются тесты без тегов, а тест с тегами Slow не запускается.
Однако я не могу понять параметр командной строки, который будет запускать медленные тесты, когда я хочу их запустить. Я сделал несколько поисков и попробовал несколько примеров. Я несколько удивлен, поскольку это кажется очень распространенным сценарием.