2017-08-17 34 views
0

ユニットテストケースを作成しようとしています。以下の成功を示してユニットテストは失敗していません

Success Unit Test (jsfiddle)

 getProduct("jsonp","https://maps.googleapis.com/maps/api/e 

Error Unit Test (jsfiddle)しかし、まだそのショーは "合格"

 getProduct("jsonp","https://sdfsdfdfmaps.googleapis.com/maps/api/e 

前右WEBAPIのURL:https://maps.googleapis.com/maps/api/elevation/json?locations=39.7391536,-104.9847034&key

間違っwepapiのURL: https://sdfsdfdfmaps.googleapis.com/maps/api/elevation/json?locations=39.7391536,-104.9847034&key

wepapiのURLは間違っていますが。テストは合格です。

答えて

1

スパイ機能を削除し、AJAX呼び出しがそうのように失敗した場合は、エラーを発生させfailコールバックを追加します。

function getProduct(dataType,serviceURL,langCode ,callback) { 
    $.ajax({ 
     type: 'GET', 
     dataType: dataType, 
     url: serviceURL + langCode, 
     success: callback, 
     fail:() => { throw new Error('failed'); }, 
    }); 
} 

this fiddle hereを参照してください。

しかし、実際の呼び出しが発生します。コールが行われないようにするには、スパイ関数を使用し、in this fiddle hereのようにURL引数を解析します。

+0

ありがとうございます!私は別のサービスのために同じことをするためにすべてを変更する必要がある、異なるサービスのために働いていない?私はanythigninベースを変更する必要がありますか? – SmartestVEGA

+0

私はそれを変更し、働いてくれてありがとう:) – SmartestVEGA

関連する問題