如何仅使用目标目录运行测试(编译测试类的位置)?

时间:2015-03-11 10:53:21

标签: scala sbt

我使用sbt 0.13.5

我想在一台机器上执行测试,并且他们成功地将项目移动到另一台机器并在没有编译的情况下重新运行它们。

我尝试了sbt testOnly package_1 package_2,但它没有用。

以下是我要做的步骤:

  1. 使用sbt clean compile编译项目。如果我在这台机器上执行sbt testOnly myTest1,它可以正常工作。
  2. target
  3. 中的所有内容创建一个zip文件
  4. 在另一台计算机上下载文件
  5. 提取并运行测试。 (我这台机器上只有target目录。)

1 个答案:

答案 0 :(得分:0)

我认为如果没有构建定义的某个子集,您将无法执行测试,即您没有测试项目的所有依赖项。 target里面的内容只是你在项目中编写的编译源 - 没有测试库。如果没有先帮助自己,sbt将无法帮助你。

您可以模仿sbt对传递性下载testcompile依赖关系所做的事情,但与将构建定义复制到其他计算机相比,这是太多的工作。

可能的工作原理是在另一台计算机上的单个(半)项目中拥有build.sbttarget目录。 sbt test应该可以正常工作(出于显而易见的原因,请不要使用clean。)