我使用 sbt 0.13.5。
我想在一台机器上执行测试,如果它们成功,将项目移动到另一台机器并在不编译的情况下重新运行它们。
我试过sbt testOnly package_1 package_2
但没有用。
这些是我正在尝试执行的步骤:
- 使用
sbt clean compile
编译项目。如果我在这台机器上执行sbt testOnly myTest1
,它可以正常工作。 - 从
target
中的所有内容创建一个 zip 文件 - 在另一台计算机上下载文件
- 提取它并运行测试。(我只有这台机器上的
target
目录。
我认为如果没有构建定义的一些子集,您将无法执行测试,即您没有测试下项目的所有依赖项。target
里面的只是你在项目中编写的编译源代码 - 没有测试库。如果不先帮助SBT本身,SBT就不会帮助你。
您可以模仿 sbt 对传递下载test
和compile
依赖项的作用,但与将构建定义复制到另一台计算机相比,工作量太大。
可能有效的方法是在另一台机器上的单个(半)项目中build.sbt
和target
目录。 sbt test
应该可以正常工作(出于明显的原因不要使用 clean
)。