sinon.spyは、オブジェクト名と関数名の2つのパラメーターを取ります。
以下にリストされているモジュールがあります:
module.exports = function xyz() { }
xyz
のスパイを定義するにはどうすればよいですか?使用するオブジェクト名がありません。
考え?
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 で述べられているように
デフォルトのエクスポートは、実際には、特別な名前がデフォルトの名前付きエクスポートです。
したがって、import * as someFunctionを使用すると、module.exportsオブジェクト全体にアクセスでき、デフォルトをスパイできます。