标签:
js中最常见的一种消息弹框alert(),我们在测试alert()的时候,就出现了一种困恼,就是我们既要去走这个alert(),有不想让这个alert()弹出去阻碍我们其他的测试效果,所以我们在研究这个的时候有了以下的操作,
源代码:
alert(resultErrorMessage);
测试代码:
//测试前准备
spyOn(window, "alert");
//结果断言
expect(window.alert).toHaveBeenCalled();
大 家可以看出,我在第一部分就讲到了这个jasmine中最重要的一个函数spyOn(),实例中就用到了这个,我们可以这样去理解这个,spyOn()函 数就是一个去监视的函数,他可以再配合许多的函数去做一些灵活的操作,我们这个里面所用到的是一个监视不调用的操作,意思就是当代码走到了alert() 的时候,这个函数就给他拦截住了,然后在alert()弹出的时候给他阻止住了,而且还可以记住他有这个弹出的动作,只是我们给他阻止了,这个时候我们就 可以在断言的部分有到这个函数toHaveBeenCalled,去断言他有没有被调用过,当然我们在阻止他弹出的时候,就已经把他的这个弹出的动作记住了,如果没有调用过,则用not.toHaveBeenCalled()去断言
标签:
原文地址:http://www.cnblogs.com/byAlice/p/4563637.html