Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jasmine在全局窗口对象的本机JS函数上创建间谍_Javascript_Jasmine - Fatal编程技术网

Javascript Jasmine在全局窗口对象的本机JS函数上创建间谍

Javascript Jasmine在全局窗口对象的本机JS函数上创建间谍,javascript,jasmine,Javascript,Jasmine,我正在编写一个测试,看看是否调用了Array.prototype.map。我认为这会起作用,因为Array.prototype.map位于全局窗口对象上: it("does not use Array.prototype.map", function(){ spyOn(window, "Array.prototype.map") fn([2,2,3]); expect(Array.prototype.map.calls.count()).

我正在编写一个测试,看看是否调用了
Array.prototype.map
。我认为这会起作用,因为Array.prototype.map位于全局窗口对象上:

    it("does not use Array.prototype.map", function(){

        spyOn(window, "Array.prototype.map")
        fn([2,2,3]);
        expect(Array.prototype.map.calls.count()).toEqual(0);
    });

我收到错误
Array.prototype.map不存在
。当我创建自己的自定义全局函数时,这个方法工作得很好。似乎任何全局函数都可以使用我上面使用的语法进行监视。如果我创建自己的函数,这种语法就可以工作。你知道为什么
Array.prototype.map
返回未定义的吗?

希望你已经得到了答案,但是对于搜索的人来说,这是因为你应该得到答案

spyOn(Array.prototype, 'map');