Javascript Sinon找不到方法';间谍';
我正在尝试通过主干应用程序使用require.js/mocha/chai/sinon来提升学习曲线。当我跑步时: 我得到Javascript Sinon找不到方法';间谍';,javascript,backbone.js,mocha.js,sinon,chai,Javascript,Backbone.js,Mocha.js,Sinon,Chai,我正在尝试通过主干应用程序使用require.js/mocha/chai/sinon来提升学习曲线。当我跑步时: 我得到TypeError:Object没有方法“spy”。为什么?请注意,第一个测试通过 以下是完整的项目: 注意使用特定的提交。这里的问题是,sinon的bower存储库无法使用。Sinon必须首先建造,而进行bower安装Sinon只会使Sinon.JS回购协议失效。使用bower-install-sinonjs代替bower-install-sinon可以工作,但给出了早期版
TypeError:Object没有方法“spy”
。为什么?请注意,第一个测试通过
以下是完整的项目:
注意使用特定的提交。这里的问题是,sinon的bower存储库无法使用。Sinon必须首先建造,而进行
bower安装Sinon
只会使Sinon.JS回购协议失效。使用bower-install-sinonjs
代替bower-install-sinon
可以工作,但给出了早期版本号。来自@Erik-link
install——保存开发人员sinonjs的构建
这将为您生成sinon的版本
编辑
另一个bower版本(如上面@Erik建议的)可以在中找到
可以通过以下方式进行安装:
安装--保存开发人员sinonjs
编辑2
从sinon github的
重要提示:AMD需要预构建版本
Sinon.JS作为源代码不适用于AMD加载程序(当它们是异步的,比如通过浏览器中的脚本标签加载时)。为此,您必须使用预构建的版本。您可以自己构建它,也可以从中获取编号版本
解决方案:告诉bower sinon文件的直接链接
您可以编辑bower.json
文件。只需为文件传递url
即可,而不是编写版本,即
[...]
"devDependencies": {
"chai": "~1.10.0",
"sinon": "http://sinonjs.org/releases/sinon-1.12.2.js#*",
},
[...]
您是否检查过sinon是否符合您的预期?我检查过,但事实并非如此。它是一个对象,由sinon.js创建,但没有spy()方法。我想看看require.js的设置。我只是把一些想法扔到墙上,看看有什么坚持住了;对不起,我不能说得更具体了,我对这些工具不太熟悉。我想你是对的——我怀疑sinon无法找到spy.js所在的目录——但我不知道如何补救……是否有sinon.sinon.spy
?这是一个第三方版本,没有跟上最新的sinon版本。@demisx,感谢更新链接到更好的bower版本。。但是我不知道它是否是最新的
[...]
"devDependencies": {
"chai": "~1.10.0",
"sinon": "http://sinonjs.org/releases/sinon-1.12.2.js#*",
},
[...]