2016-04-14 165 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中以自定義配置運行此功能。希望這有點幫助。我工作時一直在運行這些。