我现在正在 Play 中进行一些涉及 HTTPS websocket 客户端的测试。它通过 Netty 实现 HTTPS 功能,所以我没有使用任何内置的 HTTP 类(例如 WS 命名空间中的任何类)。我想编写一些测试以确保 SSL 连接正确并正确拒绝无效数据。
我的想法是在使用示例 keystore 进行测试期间让 Play 运行 HTTPS,但是在测试中,看起来 Play 不尊重 https.port 设置(我在测试期间收到“连接被拒绝”,但在开发中运行良好)。
我已将此添加到我的 build.sbt 中:javaOptions in (Test) += "-Dhttps.port=23456"
有没有办法让HTTPS在测试中运行?
最佳答案
当运行用 ScalaTest 编写的普通单元测试时,Play 应用程序通常不会在后台运行。以下库中可能有一些结构可以帮助您测试端点中的逻辑:scalatestplus-play .您可以使用这个库来模拟 HTTP/HTTPS 请求。如果您真的想测试 HTTPS,使用简短的 shell 脚本实际上可能更容易。
关于scala - 测试期间可以在 Play Framework 中启用 HTTPS 监听吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25532003/