0

私は都市を追加したいウェブサイトを持っています。私のコードでは、リクエスト オブジェクトから IP を取得し、MaxMind GeoIPデータベースから都市を計算しています。今、私はこれをテストしたいです。別の都市でテストする方法を誰か教えてください。テストで都市間を移動することはできません。サーバーコードが同じクライアントに対して異なる異なるIPを取得し、さまざまなIPまたはいくつかのツールをテストできるように、TCPパケット編集を行うことはできますか. ありがとう!!

4

2 に答える 2

1

コードをレイヤーに分けます。

  1. IP を抽出する非常に薄い HTTP レイヤー
  2. IP を取得して都市を返すレイヤー。

これで、レイヤーごとに個別の単体テスト (HTTP 要求をシミュレートし、IP アドレスが正しく抽出されていることを確認するもの、ビジネス ロジックの 2 つ目) と、おそらく 1 つの事前定義された既知の場所から実際の HTTP 要求を実行し、それを確認する統合テストを作成できます。あなたは正しい都市を取得します。

ところで、最初のレイヤー(IPアドレスを抽出する)は、実際には次のような1行で構成されています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 に答える