2017-01-08 11 views
1

У меня есть простой проект Scala 2.11.8 + ScalaTest 3.0.1 + SBT.Запуск одного тестового набора с ScalaTest

Я хочу запустить отдельный класс ScalaTest Suite. Я создал тривиальный пример набора тестов org.example.TestSuite:

package org.example 

import org.scalatest.FunSuite 

class TestSuite extends FunSuite { 
    test("just a simple example test") { 
    assert(1 + 1 === 2) 
    } 
} 

Я могу запустить его в отрыве от IntelliJ прекрасно.

Когда я пытаюсь запустить это в изоляции в командной строке:

sbt test-only org.example.TestSuite 

Это работает все мои тесты.

Я смотрю на документах здесь: http://www.scalatest.org/user_guide/using_scalatest_with_sbt

И это говорит делать именно то, что я делаю, test работает все, в то время как test-only <qualified suite class names> работает только указаны люксы. Однако он просто не работает.

Это кажется возмутительно простым, но это просто не работает и работает все тесты. Спасибо!

ответ

1

В командной строке, SBT будет принимать команды с аргументами, такие как ваша, заключая команды и аргументы в кавычки:

sbt 'test-only org.example.TestSuite' 

Если ввести командную строку SBT, тогда вам не нужно указать цитаты и просто запустить команду как:

$ sbt 
> test-only org.example.TestSuite 

Обратите внимание, что этот последний пример, как примеры, приведенные в ссылке документации вы публикуемая должны были быть использованы.

Обратите внимание также, что в последнем SBT versions such as 0.13 вызов команды был изменен на testOnly.