あいまいなタイトルで申し訳ありませんが、それを何と呼ぶべきかさえわかりません。先に進んで、何が起こっているのかを説明します.
URL を作成するために Stringbuffer を使用しています。次のようになります。
http://maps.googleapis.com/maps/api/geocode/json?latlng=49.0516736,8.38891840&sensor=false
単体テストでこの文字列をメソッドの実際の結果と比較すると、この振る舞いに遭遇しました。
そして、これは私が得ているアサーションエラーです:
latlng=49.0516736[,8.38891840]&sensor=false> but was:<...on?latlng=49.0516736[,8.3889184]&sensor=false
sensor=falseの直前の文字シーケンス0]&と4]&に重点が置かれています
IF の前にゼロを削除すると、テストが緑色になります。
作成された文字列は次のようになります。
latlng=49.0516736,8.3889184&sensor=false
ということで・・・予想通り。0 自体が切り捨てられてテストが失敗することは問題ではありません。(ゼロを削除すると) コードが想定どおりに動作していることを証明しましたが、ここで何が起こっているのか知りたいです。
0&は、配列へのアクセスまたは何らかのエスケープを示すものでなければなりません。知らない。この動作の原因は何ですか?
編集:
これが私が使用しているコードです
StringBuffer s = new StringBuffer( grailsApplication.config.geocodingurl.toString() )
s.append(coordinates.latitude)
s.append(",")
s.append(coordinates.longitude)
s.append("&sensor=false")
return s.toString()