使用 Sinon 简化 JavaScript 测试
1. 实现 locate 方法
首先,我们要实现 locate 方法,不过它的实现依赖于 onSuccess 和 onError 函数。目前,我们可以为这些函数提供一个空的实现。打开 src/locateme.js 文件,在之前实现的 setLocation 函数下方编写以下代码:
var locate = function() {
navigator.geolocation.getCurrentPosition(onSuccess, onError);
};
var onError = function() {}
var onSuccess = function() {}
locate 函数很简单,它调用 getCurrentPosition 函数,并传入测试所需的两个回调函数。我们为事件处理函数提供了临时占位符。
在测试时,我们没有让 locate 调用真正的 getCurrentPosition 函数并检查其结果,而是测试 locate 与其依赖项的交互。这种方法的好处是测试速度快且可预测,同时我们也不必处理浏览器授予或拒绝访问地理位置权限的问题。
然而,我们之前的做法有一个不足之处。测试在开始
超级会员免费看
订阅专栏 解锁全文
3659

被折叠的 条评论
为什么被折叠?



