最轻量级的Web服务框架,用于在Scala中模拟外部Web服务

时间:2013-04-23 08:06:09

标签: web-services scala scalatra

我正在尝试测试依赖于外部Web服务的组件,我通过Play WS库访问该组件。此组件接收Web服务的URL。

我想通过将组件连接到虚假的Web服务来对组件进行单元测试。

哪个scala Web框架更适合此目的?

1 个答案:

答案 0 :(得分:4)

我找不到比scalatra简单的东西。虽然主页上的代码非常简单,但您必须做一些额外的工作才能将scalatra嵌入到您自己的app / tests中。

import org.scalatra._
import org.eclipse.jetty.server.Server
import org.eclipse.jetty.webapp.WebAppContext

private class Mocker extends ScalatraServlet {
    get("/somepath") {
      <h1>Mocked response</h1>
    }
  }

// ↓ you won't need that part if you start jetty as sbt command

private val jetty = new Server(8080)
private val context = new WebAppContext()
context setContextPath "/"
context setResourceBase "/tmp"
context addServlet(classOf[Mocker], "/*")

jetty.setHandler(context)
jetty.start

独立应用is really that simple