我正在使用SBT和Play!框架。目前我们在我们的管道中有一个提交阶段,我们在其中发布我们的二进制文件。使用dist任务生成二进制文件。然后管道运行用scala编写的冒烟和验收测试。它们与sbt一起运行。
我想要做的是编译冒烟和验收测试以及二进制文件并将它们发布到神器中。这将允许管道下载这些二进制文件(测试套件)并运行它们,而不是每次都重新编译它们,这需要很长时间。
我试过sbt test:compile生成jar,但是我找不到运行测试的方法。
答案 0 :(得分:12)
不要在工件中发布测试
publishArtifact in GlobalScope in Test:== false
这是如何启用它
// enable publishing the jar produced by `test:package`
publishArtifact in (Test, packageBin) := true
// enable publishing the test API jar
publishArtifact in (Test, packageDoc) := true
// enable publishing the test sources jar
publishArtifact in (Test, packageSrc) := true
来源:http://www.scala-sbt.org/release/docs/Detailed-Topics/Artifacts
运行测试
scala -classpath pipeline.jar classpath scalatest-<version>.jar org.scalatest.tools.Runner -p compiled_tests
其中pipeline.jar
是您从管道
或者您可以通过sbt
设置测试项目http://www.scala-sbt.org/release/docs/Detailed-Topics/Testing.html