跳到内容

Hermetic 端到端测试模式

Hermetic 端到端测试模式是一种模式,其中

  • 整个应用程序作为一个整体运行。

  • 此应用程序的整个“外部世界”都在严格控制的模拟环境中运行。例如,如果它

调用外部沙箱 REST API。 使用一个暂存数据库,其确切数据不受控制。** 访问互联网。

那么它就不是 Hermetic 的。如果它

调用模拟 REST API(例如,使用 wiremock 或 mitmproxy)。 使用本地构建的数据库,具有一致的预定义夹具。** 不访问互联网。

那么它是 Hermetic 的。

优势

Hermetic 测试

  • 更快。
  • 更一致。
  • 可以轻松地并行化

部分 Hermetic 端到端测试

部分 Hermeticism 是指端到端测试的每个部分都被模拟,但它可以在部分与外部世界交互的模式下运行。

一个例子是 Hermetic 端到端测试,它使用 wiremock 或 mitmprox 调用模拟的 Paypal REST API,但它可以在使用沙箱 Paypal REST API 的模式下运行。

部分 Hermeticism 可以用作

  • 创建模拟的有效方法(通过记录实际的请求/响应)。
  • 一种一致地测试“外部世界”更改的方法 - 例如,如果应用程序调用的 API 明天与今天的工作方式相同。

进一步阅读