我正在使用websockets开发Scala + Play应用程序.我有一个简单的Web套接字定义如下:
def indexWS = WebSocket.using[String] { request =>
val out = Enumerator("Hello!")
val in = Iteratee.foreach[String](println).map { _ =>
println("Disconnected")
}
(in,out)
}
Run Code Online (Sandbox Code Playgroud)
我已经使用Chrome的控制台验证了这一点.我遇到的问题是尝试为此编写单元测试.目前我有这个:
"send awk for websocket connection" in {
running(FakeApplication()){
val js = route(FakeRequest(GET,"/WS")).get
status(js) must equalTo (OK)
contentType(js) must beSome.which(_ == "text/javascript")
}
}
Run Code Online (Sandbox Code Playgroud)
但是,当在Play控制台中运行我的测试时,我收到此错误,其中第35行对应于此行'val js = route(FakeRequest(GET,"/ WS")).get':
NoSuchElementException: None.get (ApplicationSpec.scala:35)
Run Code Online (Sandbox Code Playgroud)
我无法找到单元测试scala/play websockets的好例子,并且对如何正确编写此测试感到困惑.