2016-04-14 137 views
6

在研究自动化集成测试的主题时,我在Maven世界中发现了一个名为FailSafe的好插件。它给了我一些阶段,如预集成测试,后整合测试和集成测试。SBT/Scala和集成测试

通过绑定到这些阶段,我可以有其他插件可以启动/停止并运行码头图像。

该插件也有一个很好的方式,我可以区分UnitTests和IntegrationTests(即使它们都是在JUNIT中编写的)。

那么现在的问题是我怎么能用Scala/SBT组合做同样的事情?

我的要求是SpecFlow

  1. 写集成测试。
  2. 集成测试与单元测试的处理方式不同。
  3. 第一单元测试运行。
  4. 然后创建Docker容器并运行
  5. 然后运行集成测试。
  6. 码头包含关闭。
  7. 测试结果在文件中被捕获。 (就像surefire/failsafe插件)。

这是可能在Scala/sbt组合?

+0

听起来像我需要一个CI构建系统。 –

+0

我有一个叫詹金斯。目前它执行maven项目以及FailSafe集成测试。 –

+0

您可以让它执行所有这些步骤。 –

回答

1

一个简单的解决方案是运行$ sbt "~ it:test"的创建/破坏(确保集成测试是在一个名为包“它')用于集成测试,每次更新源代码时都会自动运行。此外,$sbt "~ test"用于自动化单元测试。如果您使用IDE(如IntelliJ IDEA),则可以更轻松地从IDE中以自定义配置运行此功能。希望这有点帮助。我工作时一直在运行这些。