JsTestDriver を使用して地理位置情報をテストしています。これが私のコードです。
GeoLocationTest.prototype.testLocation = function(){
expectAsserts(1);
var coordinate = new Coordinate();
var location = coordinate.getLocation();
assertEquals("1,1",location);
};
テストは、ジオロケーション座標を取得する前にすぐにテストされるため、常に失敗します。タイムアウトを使用してみましたが、テストもすぐに実行されます。
setTimeout(function(){assertEquals("1,1",location);},10000);
そして、これは私がテストしようとしているJavaScriptです
function Coordinate () {
this.latitude = 0.0;
this.longitude = 0.0;
this.date = new Date();
this.errorMsg = "";
}
Coordinate.prototype.getLocation = function(){
if (this.isBrowserSupported()){ //this test passes
navigator.geolocation.getCurrentPosition(this.setPosition,this.setError);
return "" + this.latitude + "," + this.longitude;
}
return "Browser not supported";
}
Coordinate.prototype.setPosition = function(position){
this.latitude = position.coords.latitude;
this.longitude = position.coords.longitude;
}
AssertError: "1,1" が必要でしたが、"0,0" でした