sinon.spy有2个参数,对象和函数名。
我有一个如下所列的模块:
module.exports = function xyz() { }
如何为xyz
定义间谍?我没有使用对象名称。
思想?
答案 0 :(得分:30)
如果您正在使用ES6模块导入功能,则上述实际上不起作用。如果您发现了,您实际上可以监视默认值。
// your file
export default function () {console.log('something here');}
// your test
import * as someFunction from './someFunction';
spyOn(someFunction, 'default')
如http://2ality.com/2014/09/es6-modules-final.html
中所述默认导出实际上只是具有特殊名称default
的命名导出
所以import * as someFunction让你可以访问整个module.exports对象,允许你监视默认值。