Search code examples
unit-testingtcpip

what is a good invalid IP address to use for unit tests?


I am writing unit tests for a client library. I want to test connecting with an invalid port and an invalid ip. What is a good ip address to use that won't potentially be routed somewhere? I don't want to make any assumptions about the network the machine running the unit tests is on. LOCALHOST seems like a bad choice since that is the valid machine running the server component and I want to test an invalid port separately. Is there an INVALID-IP reserved somewhere in the IPv4 spec?


Solution

  • According to RFC 5737 §3 Documentation Address Blocks:

    The blocks 192.0.2.0/24 (TEST-NET-1), 198.51.100.0/24 (TEST-NET-2), and 203.0.113.0/24 (TEST-NET-3) are provided for use in documentation.

    This means you can use pick an IP address from these ranges:

    • 192.0.2.0 - 192.0.2.255
    • 198.51.100.0 - 198.51.100.255
    • 203.0.113.0 - 203.0.113.255