大佬教程收集整理的这篇文章主要介绍了javascript – 如何从茉莉花中的geolocator伪造回电话,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
// this doesn't work var navigator_spy = spyOn( navigator.geoLOCATIOn,'getCurrentPosition' ).andReturn( { coords : { latitude : 63,longitude : 143 } } );
我该怎么做?
navigator.geoLOCATIOn.getCurrentPosition(onsuccess,onError);
这意味着你正在调用它并传递它的功能:
function onsuccess(position) { // do something with the coordinates returned var myLat = position.coords.latitude; var myLon = position.coords.longitude; } function onError(error) { // do something when an error occurs }
所以,如果你想使用茉莉花返回一个值来监视它,你可以使用原始调用的第一个参数调用成功函数,如下所示:
spyOn(navigator.geoLOCATIOn,"getCurrentPosition").andCallFake(function() { var position = { coords: { latitude: 32,longitude: -96 } }; arguments[0](position); });
如果你想让它看起来像一个错误返回,你想使用原始调用的第二个参数调用错误函数,"getCurrentPosition").andCallFake(function() { arguments[1](error); });
编辑显示完整示例:
这是您使用Jasmine测试的功能:
function GetZipcodeFromGeoLOCATIOn(onsuccess,onError) { navigator.geoLOCATIOn.getCurrentPosition(function(position) { // do something with the position info like call // an web service with an ajax call to get data var zipcode = CallWebserviceWithPosition(position); onsuccess(zipcodE); },function(error) { onError(error); }); }
这将在你的spec文件中:
describe("Get Zipcode From GeoLOCATIOn",function() { it("should execute the onsuccess function with valid data",function() { var jasminesuccess = jasmine.createSpy(); var jasmineError = jasmine.createSpy(); spyOn(navigator.geoLOCATIOn,"getCurrentPosition").andCallFake(function() { var position = { coords: { latitude: 32.8569,longitude: -96.9628 } }; arguments[0](position); }); GetZipcodeFromGeoLOCATIOn(jasminesuccess,jasmineError); waitsFor(jasminesuccess.callCount > 0); runs(function() { expect(jasminesuccess).wasCalledWith('75038'); }); }); });
在这一点上,当您运行规范时,如果您的Web服务正常工作,它会告诉您,您的Web服务为您提供的纬度和经度提供了正确的邮政编码.
以上是大佬教程为你收集整理的javascript – 如何从茉莉花中的geolocator伪造回电话全部内容,希望文章能够帮你解决javascript – 如何从茉莉花中的geolocator伪造回电话所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。