Junit 为什么我会得到;“拒绝连接”;重新启动Spark服务器后出错?

Junit 为什么我会得到;“拒绝连接”;重新启动Spark服务器后出错?,junit,kotlin,integration-testing,spark-java,Junit,Kotlin,Integration Testing,Spark Java,我有这样的测试课程: class PostIT { companion object { @BeforeClass @JvmStatic fun initialise() { baseURI = "http://localhost:4567" Server.start() } @AfterClass @JvmStatic f

我有这样的测试课程:

class PostIT {

    companion object {

        @BeforeClass
        @JvmStatic
        fun initialise() {
            baseURI = "http://localhost:4567"
            Server.start()
        }

        @AfterClass
        @JvmStatic
        fun tearDown() {
            Server.stop()
        }

    }

    //some test cases

}

服务器
对象:

object Server {

    fun start() {
        Spark.init()
        prepareRoutes()
    }

    fun stop() {
        Spark.stop()
    }

    private fun prepareRoutes() {
        get("/users", whatever)
        //more routes
    }        

}
当我分别运行这两个测试类时,它工作得很好。但是,当我告诉IDE运行这两个测试类时,当运行第二个测试类时,我得到了连接拒绝错误

似乎当服务器停止时,它就再也不会启动了。这就像服务器停止后,
Spark.init()
不工作一样

我还尝试在
Spark.init()
之后调用
Spark.initialization()


我错过了什么?

解决了!实际上,问题不在于停止后的服务器初始化。我们必须等到服务器停止。我找到了解决办法

object Server {

    fun start() {
        Spark.init()
        prepareRoutes()
    }

    fun stop() {
        Spark.stop()
    }

    private fun prepareRoutes() {
        get("/users", whatever)
        //more routes
    }        

}
fun stop() {
    try {
        Spark.stop()
        while (true) {
            try {
                Spark.port()
                Thread.sleep(500)
            } catch (ignored: IllegalStateException) {
                break
            }

        }
    } catch (ex: Exception) {
    }
}