我在写一个集成测试,需要启动几个应用程序。其中一个应用是作为SBT项目播放一个名为appA
。开始使用scala.sys.process.run时SBT运行Play应用程序立即退出?
我能够开始使用scala.sys.process
如下正确的端口上的应用:
import scala.sys.process._
import org.scalatest._
class Main extends FeatureSpec with Matchers{
val app = Seq("sbt", "project appA", "run 7777").run
println(app.exitValue)
}
衍生的应用然而,随着返回值0
立即退出。没有错误显示给控制台。我刚才看到:
[info] play - Listening for HTTP on /0:0:0:0:0:0:0:0:3000
(Server started, use Ctrl+D to stop and go back to the console...)
[success] Total time: 1 s, completed Feb 27, 2014 10:26:56 PM
0
的0在输出的到底是从调用创建的过程exitValue
。 exitValue
阻塞,直到产生的进程退出。
如何在不立即退出的情况下运行Play应用程序?有没有更好的方法来启动应用程序?
当它运行sbt时是否打印任何错误? –
@AlekseyIzmailov不,没有错误。我编辑了这个问题来表明这一点。 – mushroom