Запустите только конкретный сказуемый тест из sbt

Команда

sbt test-only может использоваться для запуска тестов, найденных в определенном тестовом классе. С помощью тестов JUnit вы можете использовать test-only для запуска определенных методов в тестовом классе, например. test-only mypackage.MyTestClass.test1Equals1 для запуска именно этого метода.

Возможно ли такое с помощью более сильного синтаксиса с более сильным анализом в свободной форме, по-видимому, путем разработки имени, которое оно использует внутри, для ссылки на конкретный тест? Если это невозможно в FreeSpec (что легко представить, учитывая его природу), есть ли способ сделать это с помощью более простого метода тестирования, такого как FunSuite?

Ответ 1

Для общего решения нам нужно подождать sbt # 911, но, по-видимому, ScalaTest 2.1.3 имеет поддержку для запуска определенного теста. Сет говорит:

Теперь это поддерживается в ScalaTest 2.1.3 с помощью:

test-only *MySuite -- -z foo

запускать только те тесты, чье имя включает подстроку "foo". Для точного соответствия, а не подстроки используйте -t вместо -z.

Ответ 2

Запустить тест:

sbt test-only com.path.to.UnitTestSpec

Для запуска конкретного теста интеграции:

sbt it: test-only com.path.to.IntegrationTestSpec