我正在尝试测试依赖于外部Web服务的组件,我通过Play WS库访问该组件。此组件接收Web服务的URL。
我想通过将组件连接到虚假的Web服务来对组件进行单元测试。
哪个scala Web框架更适合此目的?
答案 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