我正在开发一种与其他服务对话的服务。为了测试这些交互,我有一个假的 http 服务器。我正在使用 node.js 并通过 http 请求进行测试。测试在进程外部运行,所以我不能(也不想)模拟请求/响应。
到目前为止,我有一个环境变量允许我在服务本身内切换主机。但是,我不能将虚假请求/响应基于主机名。
我还运行与真实外部服务交互的服务的开发版本。我可以在测试运行期间以编程方式更改 /etc/hosts,因为我可能不会在运行测试时“使用”开发服务,但我宁愿保持测试沙箱的纯度。
理想情况下,我希望 /etc/hosts 的一个版本仅适用于该进程。这将允许伪造的 http 服务器也收集请求的预期主机。
我也对实现测试主机名沙箱的不同方法持开放态度。