7

我是一个全新的 Scala 程序员,以前没有使用 Java 的经验;我来自红宝石。我正在尝试运行我的第一个 TDD 示例程序。我正在计划一些非常小的东西,可能有 5 或 6 个测试。我正在尝试使用 specs2 库。我没有 IDE,我通常用 vim 编程并从命令行执行东西。

如何从命令行对我的小 .scala 文件使用 scala 和 specs2?

快速入门中,他们提到了这一点:

scala -cp ... specs2.run HelloWorldSpec
  1. 我不知道省略号 ( ...) 代表什么。我必须在那里放什么?
  2. 该命令引用(我假设)一个名为specs2.run. 但在下载部分,我只得到一个 .jar 文件。在哪里specs2.run
  3. 依赖项部分中,我在两种技术之间给出了 - sbt 和 maven(我用谷歌搜索了它们,以前不知道它们)。无论如何我都必须使用 sbt/maven 吗?我不能只使用控制台命令吗?它只有 1 个包含 5 个测试的文件。
  4. 我知道有一个示例应用程序,但同样没有关于如何运行它的说明。我认为它已准备好与 sbt 和 maven 一起使用。我宁愿不必为了快速测试而学习使用其中的任何一个。是否可以?

非常感谢。

4

1 回答 1

10

欢迎来到 scala 和 specs2!

  1. 代表运行规范所需的...所有 jar 的路径,包括您自己的(或包含.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. 如果您知道从哪里获取所需的 jar 以及如何编译 scala 类(使用scalac命令) ,您确实可以仅在没有 sbt 或 maven 的情况下使用命令行

  4. 是的,示例应用程序带有 sbt 和 maven 项目文件,因此运行测试只需sbt test举例。如果这样做,sbt 会安装所有必需的依赖项,编译类并运行测试。我认为这是最好的入门方式(按照 sbt install guide,恕我直言,它真的很快)但是同样,对于一个简单的项目,您也可以手动完成

于 2011-10-22T23:43:52.727 回答