如何测试调用window对象的javascript代码

时间:2017-03-29 10:49:06

标签: javascript testing sinon

我有以下JavaScript代码:

if (Notification.permission !== 'granted') {
    return Notification.permission
} 

当我对使用此代码的某些代码运行Mocha测试时,测试失败:

  

ReferenceError:未定义通知

我认为通过这样做我可以做到这一点:

sinon.stub(Notification, 'permission')

然而,我仍然得到同样的错误。

如何防止此错误?

1 个答案:

答案 0 :(得分:0)

在运行Notification之前,您应首先测试Notification.permission是否存在。

这样做的一种方法是替换......

if (Notification.permission !== 'granted') {
    return Notification.permission
} 

......用这个:

if (typeof Notification !== typeof undefined && Notification.permission !== 'granted') {
    return Notification.permission
} 
相关问题