【问题标题】:SBT: Run test after another project is running in Multi-module projectSBT:在多模块项目中运行另一个项目后运行测试
【发布时间】:2014-11-15 11:47:03
【问题描述】:

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

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

【问题讨论】:

    标签: build sbt multi-module gatling integration-testing


    【解决方案1】:

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

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

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

    • 使用 sbt-revolver 在后台启动您的应用
    • 然后开始运行 Gatling 模拟
    • 最后在测试运行后停止服务器

    【讨论】:

    • 感谢您对此的初步指导,您是否有机会进一步充实该示例? .settings 是否被链接到 lazy val root = project in file... 声明上?我是否需要在 build.sbt 中从 Revolver 导入 reStopreStart ?我有兴趣完成同样的事情,但我是 sbtrevolver 的新手。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多