2011-10-22 114 views
7

我是一個全新的Scala程序員,我以前沒有使用Java的經驗;我來自紅寶石。我正在嘗試運行我的第一個TDD示例程序。我正在計劃一些非常小的事情,可能會有5或6次測試。我正在嘗試使用specs2庫。我沒有IDE,我通常用vim編程並從命令行執行。如何從命令行運行Scala + specs2?

如何使用scala & specs2在我的小.scala文件上從命令行?

Quick Start他們提到這一點:

scala -cp ... specs2.run HelloWorldSpec 
  1. 我沒有任何想法是什麼省略號(...)是一個代表。我必須在那裏放置什麼?
  2. 該命令引用(我假設)一個名爲specs2.run的文件。但在下載部分,我只能得到一個.jar文件。 specs2.run在哪裏?
  3. dependencies部分,我給出了兩種技術之間 - sbt和maven(我爲他們搜索,之前不知道他們)。無論做什麼,我都必須使用sbt/maven嗎?我不能只使用控制檯命令嗎?它只有5個測試文件。
  4. 我知道有一個示例應用程序,但它沒有提供關於如何運行它的說明。我認爲它準備與sbt和maven合作。我寧願不必學會使用其中的任何一個來進行快速測試。可能嗎?

非常感謝。

回答

10

歡迎來到scala和specs2!

  1. ...代表的路徑,你需要運行規範,包括你自己的(或包含.class文件的目錄路徑)的全部罐子。這些罐子在Runners頁面上列出。對於簡單的規格,您只需要scalaz-corescalaz-concurrentspecs2

  2. specs2.run是用於在命令行上運行規範的類的全名。所以,一個完整的命令來運行規範的樣子:

    scala -cp scalaz-core.jar:scalaz-concurrent.jar:specs2.jar:your-classes-directory specs2.run YourSpecification

  3. 你的確可以使用命令行唯一沒有SBT或Maven,如果你知道在哪裏可以得到你所需要的罐子以及如何編譯你的斯卡拉類(使用scalac命令)

  4. 是的,示例應用程序帶有sbt和maven項目文件,因此運行測試僅需要例如sbt test。如果你這樣做,sbt將安裝所有必需的依賴關係,編譯類並運行測試。我認爲這是開始的最好方式(按照SBT install guide,這是非常快恕我直言)但同樣,對於一個簡單的項目你也可以做到這一點手動

+0

非常感謝,埃裏克! – kikito

+0

部分鏈接已過時。 –

+0

更新後的鏈接:http://etorreborre.github.io/specs2/ –