如何在sbt中设置多阶段测试管道?

Kor*_*rny 7 scala sbt scalatra

具体来说,对于Scalatra项目,但问题可能适用于大多数.

例如,我通常想要运行:

  • 单元测试
  • 代码质量检查(覆盖范围,重复,复杂性,jsLint!)
  • 集成测试(不是太多!)
  • 验收测试(通常是"预签入"子集)
  • 回归测试(基本上与验收测试相同,但更大的一组)
  • 性能测试

我想通过上下文运行这些子集的不同子集 - 即在简单的代码更改后,我可能只运行前三个; 在签入之前我可能想要运行更大的集合,而持续集成服务器可能具有"快速"和"慢"构建,其具有更大的集合.

基本的sbt文档似乎假设一个"测试"目标 - 是否有推荐的方法来实现这样的多个测试阶段?

Jam*_*ack 1

您可能想查看有关使用 SBT 和 Hudson 进行集成测试的博客:

http://henkelmann.eu/2010/11/14/sbt_hudson_with_test_integration

然后,要添加您自己的操作,您可以使用此页面:

http://code.google.com/p/simple-build-tool/wiki/CustomActions

不过,基本上,您可能希望为每个测试步骤添加一个新操作,以便获得您想要发生的特定事件。