我写单元测试的客户端库。 我想测试一个无效的端口和一个无效的IP连接。 什么是使用不会有可能被某个路由良好的IP地址? 我不想让有关网络运行单元测试机器上的任何假设。 LOCALHOST似乎是一个不错的选择,因为这是运行服务器组件的有效机器,我想单独测试一个无效的端口。 是否有无效-IP在IPv4规范的地方保留?
Answer 1:
根据RFC 5737 :
块192.0.2.0/24(TEST-NET-1),提供了用于在文档使用198.51.100.0/24(TEST-NET-2),和203.0.113.0/24(TEST-NET-3)。
这意味着你可以使用采摘从这些范围的IP地址:
- 192.0.2.0 - 192.0.2.255
- 198.51.100.0 - 198.51.100.255
- 203.0.113.0 - 203.0.113.255
Answer 2:
如果你正在寻找一个真正的无效的IP地址(而不是一个不可路由的一个),你可以采取的事实的第一个字节优势A类地址不能为0
。
例如:
0.42.42.42
Answer 3:
有3个你可以使用这样的事情私有IP块:
10/8(10.0.0.0 - > 10.255.255.255)(旧学校A类网块)
172.16 / 12(172.16.0.0 - > 172.131.255.255
196.168 / 16(192.168.0.0 - > 192.168.255.255)(旧学校B类网块)
Answer 4:
乔纳森(和它的评论)的答案是好的对IPv4
如果你的测试支持IPv6,它有一个明确的黑洞,你可以使用: 0100::/64
中定义的RFC 6666
人们很容易使用254.254.254.254,因为它很容易记住,但在一些平台上,它提供了直接的“发射失败。常规失败”而不是实际的超时可能是一个无效的单元测试。
Answer 5:
254.254.254.254
应在保留供未来使用域...
RFC 1700
文章来源: what is a good invalid IP address to use for unit tests?