SBT/Scala和集成测试

Kno*_*uch 12 integration-testing scala sbt

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

通过绑定这些阶段,我可以有其他插件,可以启动/停止和运行docker镜像.

该插件还有一个很好的方法,我可以区分UnitTests和IntegrationTests(即使两者都是用JUNIT编写的).

那么问题是我如何使用Scala/SBT组合做同样的事情?

我的要求是

  1. 在SpecFlow中编写集成测试.
  2. 集成测试的处理方式与单元测试不同.
  3. 第一单元测试运行.
  4. 然后创建并运行docker容器
  5. 然后运行集成测试.
  6. docker包含已关闭.
  7. 测试结果记录在文件中.(就像surefire/failsafe插件一样).

这可能在Scala/sbt组合中吗?

Kno*_*uch 6

我找到了问题的答案。SBT 提供了进行集成测试的方法以及设置和清理方法来执行诸如创建/销毁 docker 容器之类的操作

http://www.scala-sbt.org/0.13/docs/Testing.html


ZDe*_*p94 6

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