如何从命令行运行Scala + specs2?

kik*_*ito 7 console scala specs2

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

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

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

scala -cp ... specs2.run HelloWorldSpec
Run Code Online (Sandbox Code Playgroud)
  1. 我不知道elipsis(...)代表什么.我该怎么办?
  2. 该命令引用(我假设)一个名为的文件specs2.run.但在下载部分我只得到一个.jar文件.在哪里specs2.run
  3. 依赖关系部分,我给出了两种技术 - sbt和maven(我用谷歌搜索过,之前不知道它们).无论如何我都必须使用sbt/maven吗?我不能只使用控制台命令吗?它只有1个文件,有5个测试.
  4. 我知道有一个示例应用程序,但它再次没有关于如何运行它的说明.我认为它准备好与sbt和maven合作.我宁愿不必学会使用其中任何一个来进行快速测试.可能吗?

非常感谢.

Eri*_*ric 10

欢迎来到scala和specs2!

  1. ...代表的路径到所有的罐子,你需要运行规范,包括你自己的(或包含目录的路径.class文件).这些罐子列在Runners页面上.对于简单的规范,您只需要scalaz-core,scalaz-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 安装指南,它真的很快恕我直言)但是再次,对于一个简单的项目,你也可以手动执行