2014-09-21 134 views
1

我試圖運行Gatling測試。但讓我的休息服務運行至關重要。如何在另一個測試之前運行一個項目?SBT:在多模塊項目中運行另一個項目後運行測試

lazy val root = 
    project.in(file(".")) 
     .aggregate("cep", "gatlingTest") 

lazy val cep = Project("cep", file("cep")) 
    .settings(version := "1.0")...... 

lazy val gatlingTest = Project("gatlingTest", file("gatling")) 
    .enablePlugins(GatlingPlugin) 
    .settings(libraryDependencies ++= Seq(....... 

我嘗試添加像這樣(dependsOn):

lazy val gatlingTest = Project("gatlingTest", file("gatling")).dependsOn(cep) 

但它不是我所需要的。

可能在某種程度上

lazy val gatlingTest = Project("gatlingTest", file("gatling")) 
.settings (test in Test <<= test.dependsOn(getProjectRunningTask)) 

其中getProjectRunningTask是工作讓我的服務運行,但我真的不知道如何實現這樣的想法。

回答

1

你用什麼來運行你的REST服務?這是一個使用sbt-revolver的噴霧應用程序嗎? 如果是這樣的話我想這:

.settings(test in Gatling <<= reStop.dependsOn(test in Gatling).dependsOn(reStart) 

可能是足夠的。 這意味着你會:

  • 在後臺使用SBT-左輪手槍
  • 然後開始放送加特林模擬啓動應用
  • ,最後停止服務器後,你的測試跑
+0

感謝這方面的初步指導,有沒有機會充實這個例子呢?那個'.settings'是否被鏈接到文件...'聲明中的'lazy val root = project?我是否需要從'build.sbt'中的左輪手槍導入'reStop'和'reStart'? 我對完成同樣的事情很感興趣,但我是'sbt'和'revolver'的新手。 – gempesaw 2015-10-22 20:22:19

相關問題