私は都市を追加したいウェブサイトを持っています。私のコードでは、リクエスト オブジェクトから IP を取得し、MaxMind GeoIPデータベースから都市を計算しています。今、私はこれをテストしたいです。別の都市でテストする方法を誰か教えてください。テストで都市間を移動することはできません。サーバーコードが同じクライアントに対して異なる異なるIPを取得し、さまざまなIPまたはいくつかのツールをテストできるように、TCPパケット編集を行うことはできますか. ありがとう!!
質問する
90 次
2 に答える
1
コードをレイヤーに分けます。
- IP を抽出する非常に薄い HTTP レイヤー
- 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 に答える