什么是保证无法解析(但有效)URL?
What is a guaranteed-unresolvable (but valid) URL?
我有很多自动化集成测试。其中一些是负面案例测试,可确保我的系统对无法成功使用的给定数据做出正确反应 - 例如被告知在不存在的远程主机上查找资源。
然而,这意味着我希望被测系统实际伸出并尝试解析主机,并且我希望它始终失败。但我不知道有什么方法可以保证给定的 URL 会导致 "Unknown Host" DNS 响应。我可以尝试制作长得可笑且怪异的域名,但这会使测试更难阅读,并且最终仍然很脆弱,因为 someone 仍然可以将某些东西绑定到那个可笑的域名。
是否有我可以使用的众所周知的 "always-unresolvable"(但有效)域或约定,而不必担心我(或其他任何人的)DNS 服务器的配置?
来自 RFC2606(保留的顶级 DNS 名称)
- 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(特殊用途域名)中有更详细的解释,有很多 SHOULD
和 MAY
,只有一个 MUST
:
DNS Registries/Registrars MUST NOT grant requests to register
"invalid" names in the normal way to any person or entity.
不过,我认为您 SHOULD
可以使用 something.invalid
。
我有很多自动化集成测试。其中一些是负面案例测试,可确保我的系统对无法成功使用的给定数据做出正确反应 - 例如被告知在不存在的远程主机上查找资源。
然而,这意味着我希望被测系统实际伸出并尝试解析主机,并且我希望它始终失败。但我不知道有什么方法可以保证给定的 URL 会导致 "Unknown Host" DNS 响应。我可以尝试制作长得可笑且怪异的域名,但这会使测试更难阅读,并且最终仍然很脆弱,因为 someone 仍然可以将某些东西绑定到那个可笑的域名。
是否有我可以使用的众所周知的 "always-unresolvable"(但有效)域或约定,而不必担心我(或其他任何人的)DNS 服务器的配置?
来自 RFC2606(保留的顶级 DNS 名称)
- 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(特殊用途域名)中有更详细的解释,有很多 SHOULD
和 MAY
,只有一个 MUST
:
DNS Registries/Registrars MUST NOT grant requests to register "invalid" names in the normal way to any person or entity.
不过,我认为您 SHOULD
可以使用 something.invalid
。