我在寫一個集成測試,需要啓動幾個應用程序。其中一個應用是作爲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