SBT:在多模块项目中运行另一个项目后运行测试
问题描述:
我试图运行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是工作让我的服务运行,但我真的不知道如何实现这样的想法。
答
你用什么来运行你的REST服务?这是一个使用sbt-revolver的喷雾应用程序吗? 如果是这样的话我想这:
.settings(test in Gatling <<= reStop.dependsOn(test in Gatling).dependsOn(reStart)
可能是足够的。 这意味着你会:
- 在后台使用SBT-左轮手枪
- 然后开始放送加特林模拟启动应用
- ,最后停止服务器后,你的测试跑
感谢这方面的初步指导,有没有机会充实这个例子呢?那个'.settings'是否被链接到文件...'声明中的'lazy val root = project?我是否需要从'build.sbt'中的左轮手枪导入'reStop'和'reStart'? 我对完成同样的事情很感兴趣,但我是'sbt'和'revolver'的新手。 – gempesaw 2015-10-22 20:22:19