Hermetic 端到端测试模式
Hermetic 端到端测试模式是一种模式,其中
-
整个应用程序作为一个整体运行。
-
此应用程序的整个“外部世界”都在严格控制的模拟环境中运行。例如,如果它
调用外部沙箱 REST API。 使用一个暂存数据库,其确切数据不受控制。** 访问互联网。
那么它就不是 Hermetic 的。如果它
调用模拟 REST API(例如,使用 wiremock 或 mitmproxy)。 使用本地构建的数据库,具有一致的预定义夹具。** 不访问互联网。
那么它是 Hermetic 的。
优势
Hermetic 测试
- 更快。
- 更一致。
- 可以轻松地并行化
部分 Hermetic 端到端测试
部分 Hermeticism 是指端到端测试的每个部分都被模拟,但它可以在部分与外部世界交互的模式下运行。
一个例子是 Hermetic 端到端测试,它使用 wiremock 或 mitmprox 调用模拟的 Paypal REST API,但它可以在使用沙箱 Paypal REST API 的模式下运行。
部分 Hermeticism 可以用作
- 创建模拟的有效方法(通过记录实际的请求/响应)。
- 一种一致地测试“外部世界”更改的方法 - 例如,如果应用程序调用的 API 明天与今天的工作方式相同。