scala - SBT/Scala 和集成测试

标签 scala sbt integration-testing

在研究自动化集成测试的主题时,我在 maven 世界中发现了一个不错的插件,称为 FailSafe。它为我提供了预集成测试、集成后测试和集成测试等阶段。

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

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

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

我的要求是

  • 在 SpecFlow 中编写集成测试。
  • 集成测试的处理方式与单元测试不同。
  • 运行第一个单元测试。
  • 然后创建 docker 容器并运行
  • 然后运行集成测试。
  • docker包含正在关闭。
  • 测试结果记录在文件中。 (就像surefire/failsafe插件一样)。

  • 这在 Scala/sbt 组合中可行吗?

    最佳答案

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

    关于scala - SBT/Scala 和集成测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36631324/

    相关文章:

    scala - 向量化具有多个返回值的 Scala 函数

    scala - 无法解析 org.scalatest#scalatest;3.0.1 : not found dependency issue

    scala - sbt native 打包器不会在 target/universal/stage/bin 下创建脚本

    SBT 支持自定义 Ivy 模块状态吗?

    java - Spring SOAP Web服务集成测试错误: no endpoint mapping found. SOAP服务本身正常工作,问题出在测试上

    ios - 使用 6 次重复测试 TapGesture(iOS 和 Swift)

    scala - 如何确定 Scala 字符串是否可解析为 Double?

    scala - 无法理解 scala 函数应用程序中的占位符 _ 行为

    sbt - 键入配置 : how to list Configurations and Keys?

    spring - 如何在使用 Maven 进行集成测试的 war 中包含测试类和配置?