我正在Play上进行一些测试,其中涉及HTTPS Websocket客户端。它正在通过Netty的HTTPS功能,所以我没有使用任何内置的HTTP类(例如WS名称空间中的任何类)。我想编写一些测试来确保SSL正确连接并正确拒绝无效数据。
我原以为Play会在测试期间使用示例密钥库运行HTTPS,但是在测试中,Play似乎不遵守https.port设置(我在测试期间遇到“连接被拒绝”的问题,但工作正常开发中)
我已将此添加到我的build.sbt中:
javaOptions in (Test) += "-Dhttps.port=23456"
有没有办法让HTTPS在测试中运行?
[运行使用ScalaTest编写的普通单元测试时,Play应用程序通常不会在后台运行。以下库中可能有一些构造可以帮助您测试端点中的逻辑:scalatestplus-play。您可以使用此库来模拟HTTP / HTTPS请求。如果您实际上要测试HTTPS,则使用简短的Shell脚本实际上可能会更容易。