如何在 gtest 中通过 CURL 测试 HTTPS 请求(SSL)?

How to test HTTPS requests (SSL) through CURL in gtest?

我将通过 curl 发送 HTTPS 请求,并想使用 gtest 对其进行测试。我该如何处理?

您很可能需要在您使用的 curl 库周围引入一个包装器,并在大多数情况下对其进行模拟(请参阅 gmock intro)。这将帮助您测试与库本身的交互。鉴于不会真正执行 HTTPS 请求,测试将可靠、快速且体积小。

以上技术不会帮助您实际执行 HTTPS 请求和验证您的这段代码。但是,如果您使用的库按预期工作(应该),您应该测试与库的交互而不是库本身(应该单独测试)。

如果您需要一些集成测试(即包含您与服务器端交互的代码的测试),gtest 不是我的首选武器。我使用的是 behave 框架 (Python),您可以在其中设置自己的 HTTPS 服务器(在 Python 中制作原型会容易得多)并针对这个存根 HTTPS 服务器测试您的应用程序。