我正在使用QUnit编写集成测试,如果地理位置不可用,则在我的webapp中编写(我使用if (navigator.geolocation)
来检测是否存在,但我想禁用它以实现测试地理位置不可用时。
我尝试了navigator.geolocation = undefined
,但遗憾的是它没有用。
答案 0 :(得分:1)
你无法真正“禁用”navigator.geolocation
,因为它是一个只读属性。
相反,您可以创建一个包装器来检查某些功能,然后将其模拟为您的测试。
var supports = {
geolocation: !!navigator.geolocation // will be `true` if geolocation is defined
};
// In your tests...
supports.geolocation = false;
executeTest();