什么是保证无法解析(但有效)URL?

What is a guaranteed-unresolvable (but valid) URL?

我有很多自动化集成测试。其中一些是负面案例测试,可确保我的系统对无法成功使用的给定数据做出正确反应 - 例如被告知在不存在的远程主机上查找资源。

然而,这意味着我希望被测系统实际伸出并尝试解析主机,并且我希望它始终失败。但我不知道有什么方法可以保证给定的 URL 会导致 "Unknown Host" DNS 响应。我可以尝试制作长得可笑且怪异的域名,但这会使测试更难阅读,并且最终仍然很脆弱,因为 someone 仍然可以将某些东西绑定到那个可笑的域名。

是否有我可以使用的众所周知的 "always-unresolvable"(但有效)域或约定,而不必担心我(或其他任何人的)DNS 服务器的配置?

来自 RFC2606(保留的顶级 DNS 名称)

  1. TLDs for Testing, & Documentation Examples

".invalid" is intended for use in online construction of domain names that are sure to be invalid and which it is obvious at a glance are invalid.

这在 RFC6761(特殊用途域名)中有更详细的解释,有很多 SHOULDMAY,只有一个 MUST

DNS Registries/Registrars MUST NOT grant requests to register "invalid" names in the normal way to any person or entity.

不过,我认为您 SHOULD 可以使用 something.invalid