2012-12-10 21 views
15

如果您在您的SBT項目定義2個測試:你如何在SBT中只運行一個Spec2規格?

class Spec1 extends Specification { 
    def is = 
    "Tests for specification 1"^
     p^
     "Test case 1" ! todo^
     end 
} 

class Spec2 extends Specification { 
    def is = 
    "Tests for specification 2"^
     p^
     "Test case 2" ! todo^
     end 
} 

然後從裏面SBT運行test將執行這兩個測試。只運行其中一種測試的最簡單方法是什麼?

回答

19

使用test-only sbt命令。

sbt> test-only com.example.MySpec 

你甚至可以使用通配符來運行一系列測試。 請參閱How to execute tests that match a regular expression only?

+8

如果您不想先輸入'sbt' shell,則可執行文件只需要一個參數,因此您必須將整個命令用引號引起來。在這裏,'sbt「test-only com.example.MySpec」'或'sbt「test-only * MySpec」' – broadmonkey