0

我有一个网站,我想在其中显示一个添加 wrt 的城市。所以在我的代码中,我从请求对象中获取 IP 并从MaxMind GeoIP数据库中计算城市。现在我想测试一下。有人可以告诉我如何测试不同的城市,我不能跨城市进行测试。我们可以进行一些 TCP 数据包编辑,以便我的服务器代码为同一个客户端获得不同的不同 ip,并且我可以测试各种 IP 或一些工具。谢谢!!

4

2 回答 2

1

将您的代码分层。

  1. 提取 IP 的非常薄的 HTTP 层
  2. 获取 IP 并返回城市的层。

现在,您可以为每一层创建单独的单元测试(一个模拟 HTTP 请求并检查 IP 地址是否正确提取,第二个用于业务逻辑),可能还有一个集成测试从一个预定义的已知位置执行真正的 HTTP 请求并检查你得到正确的城市。

顺便说一句,第一层(提取 IP 地址)实际上由一行组成request.getRemoteAddr()

于 2013-06-10T14:00:48.913 回答
0

我不知道您的测试有不同的 IP,但我建议您根据geoip需要使用

<script language="JavaScript" src="http://j.maxmind.com/app/geoip.js"></script>

<br>Country Code:
<script language="JavaScript">document.write(geoip_country_code());</script>
<br>Country Name:
<script language="JavaScript">document.write(geoip_country_name());</script>
<br>City:
<script language="JavaScript">document.write(geoip_city());</script>
<br>Region:
<script language="JavaScript">document.write(geoip_region());</script>
<br>Region Name:
<script language="JavaScript">document.write(geoip_region_name());</script>
<br>Latitude:
<script language="JavaScript">document.write(geoip_latitude());</script>
<br>Longitude:
<script language="JavaScript">document.write(geoip_longitude());</script>
<br>Postal Code:
<script language="JavaScript">document.write(geoip_postal_code());</script>
于 2013-06-10T14:03:29.720 回答