1

我正在尝试运行加特林测试。但让我的休息服务运行至关重要。如何在另一个项目中进行测试之前运行一个项目?

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 是使我的服务运行的任务,但我真的不知道如何实现这样的想法。

4

1 回答 1

1

你用什么来运行你的 REST 服务?它是使用 sbt-revolver 的 Spray 应用程序吗?如果是这样的话,我猜是:

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

可能就足够了。这意味着您将:

  • 使用 sbt-revolver 在后台启动您的应用程序
  • 然后开始运行您的 Gatling 模拟
  • 最后在您的测试运行后停止服务器
于 2014-09-25T14:47:06.403 回答