单元测试没有失败
Unit Test are not failing
我正在尝试为 Web API 调用编写单元测试用例。
下面显示成功:
getProduct("jsonp","https://maps.googleapis.com/maps/api/e
Error Unit Test (jsfiddle) 但它仍然显示 "pass"
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
虽然wepapiurl是错误的。测试通过。
删除间谍功能并添加一个 fail
回调,如果 ajax 调用失败,则会引发错误,如下所示:
function getProduct(dataType,serviceURL,langCode ,callback) {
$.ajax({
type: 'GET',
dataType: dataType,
url: serviceURL + langCode,
success: callback,
fail: () => { throw new Error( 'failed' ); },
});
}
但这会导致实际调用。为防止调用发生,请使用您的间谍函数并解析 URL 参数,例如 in this fiddle here.
我正在尝试为 Web API 调用编写单元测试用例。
下面显示成功:
getProduct("jsonp","https://maps.googleapis.com/maps/api/e
Error Unit Test (jsfiddle) 但它仍然显示 "pass"
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
虽然wepapiurl是错误的。测试通过。
删除间谍功能并添加一个 fail
回调,如果 ajax 调用失败,则会引发错误,如下所示:
function getProduct(dataType,serviceURL,langCode ,callback) {
$.ajax({
type: 'GET',
dataType: dataType,
url: serviceURL + langCode,
success: callback,
fail: () => { throw new Error( 'failed' ); },
});
}
但这会导致实际调用。为防止调用发生,请使用您的间谍函数并解析 URL 参数,例如 in this fiddle here.