测试MaxMind GeoIP数据库用的IP地址

7

我正在尝试使用MaxMind GeoIP(lite)数据库。

其中一部分是尝试看看是否可以进行可靠的单元测试。

对于单元测试,我需要有一些IP地址,可以依赖发送相同的信息。

大多数IP地址会移动,我假设它们在GeoIP数据库中更加流动,但是否有一些IP地址可以合理地依赖(出于任何原因)?

3个回答

6

你也可以使用API单元测试中的测试数据库。这些数据库足够小,可以直接包含在你的代码库中。


这个不起作用 - 我在尝试之前就已经点赞了答案,现在我无法撤销 - 例如,IP 12.87.118.0 在单元测试文件中显示为“Pittsburgh PA US”,但上个月的 Geo Lite 数据库文件显示为“Garden City KS US”,在 https://www.maxmind.com/en/geoip-demo 的测试演示中,我得到的是“McKinney TX US”。 - isapir
这些数据库提供稳定的测试数据以用于测试。其目的不是提供与生产数据库匹配的真实数据。 - Greg Oschwald

6

Martijn,

您可以使用Pingdom探针服务器IP地址作为参考。它是一台物理服务器,24x7运行,并且很少被重新分配到其他位置,除非数据中心需要。

https://www.pingdom.com/rss/probe_servers.xml


1

方法一:如果测试的重点是当Maxmind报告IP地址在特定国家或其他地方时,如何测试您的代码行为,请将Maxmind库方法存根化以返回每个测试所需的答案。我使用过Maxmind,这种方法就是我需要的。

方法二:选择一个您期望在需要的国家/地区中的主机名(比如whitehouse.gov),每次运行测试时查找其IP地址并使用该IP地址。


我需要类似于第一种方法的东西;在数据库更新时返回相同的国家/城市/纬度/经度等。我猜这是一个存根。 - Martijn

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接