2011-10-22 140 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/ –