可以在测试期间在Play Framework中启用HTTPS侦听吗?

Phi*_*p J 9 scala playframework playframework-2.3

我正在Play中进行一些涉及HTTPS websocket客户端的测试.它正在通过Netty获取HTTPS功能,因此我没有使用任何内置的HTTP类(例如WS命名空间中的任何内容).我想编写几个测试来确保SSL正确连接并正确拒绝无效数据.

我的想法是在使用示例密钥库进行测试期间让Play运行HTTPS,但是在测试中,看起来Play似乎不尊重https.port设置(我在测试期间得到'连接拒绝',但它在开发中工作正常).

我已将此添加到我的build.sbt:

javaOptions in (Test) += "-Dhttps.port=23456"

有没有办法让HTTPS在测试中运行?

Reg*_*ans 0

当运行用 ScalaTest 编写的正常单元测试时,Play 应用程序通常不会在后台运行。以下库中的结构可能可以帮助您测试端点中的逻辑:scalatestplus-play。您可以使用该库来模拟 HTTP/HTTPS 请求。如果您确实想测试 HTTPS,那么使用简短的 shell 脚本实际上可能更容易做到。