java – 在PlayFramework中测试WebSocket
发布时间:2020-12-14 16:39:02 所属栏目:Java 来源:网络整理
导读:我的Play应用程序中有一个WebSocket,我想为其编写一个测试,但是我找不到如何编写这样一个测试的例子.我在 play-framework Google群组中发现了一个讨论,但最近没有任何活动. 那么,有没有关于如何在Java测试中测试WebSocket的想法? 解决方法 您可以检索底层It
我的Play应用程序中有一个WebSocket,我想为其编写一个测试,但是我找不到如何编写这样一个测试的例子.我在
play-framework Google群组中发现了一个讨论,但最近没有任何活动.
那么,有没有关于如何在Java测试中测试WebSocket的想法? 解决方法
您可以检索底层Iteratee,枚举器并直接测试它们.这样就不需要使用浏览器了.你需要akka-testkit,以应对迭代的异步性质.
一个Scala示例: object WebSocket extends Controller { def websocket = WebSocket.async[JsValue] { request => Future.successful(Iteratee.ignore[JsValue] -> Enumerator.apply[JsValue](Json.obj("type" -> "error"))) } } class WebSocketSpec extends PlaySpecification { "WebSocket" should { "respond with error packet" in new WithApplication { val request = FakeRequest() var message: JsValue = null val iteratee = Iteratee.foreach[JsValue](chunk => message = chunk)(Akka.system.dispatcher) Controller.websocket().f(request)(Enumerator.empty[JsValue],iteratee) TestKit.awaitCond(message == Json.obj("type" -> "error"),1 second) } } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |