2017-05-18 19 views
6

、そこに内部console.info(arguments)を追加、取得されたものは何でもconsole.log私を示すだろう。バージョン2xxSinonスタブcallsFake引数

私はcallsFakeに切り替え:

sinon.stub(console, 'log').callsFake(() => { 
    // Check what the arguments holds 
    // And either console.info it or do nothing 
}); 

をこの今長い作品。 console.info(arguments)にはバザー値があり、console.logが何を通過しているかは関係ありません。

何が間違っているのですか?

+1

(リターンでcallsFakeを交換してみてください) –

答えて

0

callsFakeに渡している矢印機能には、通常の機能で通常想定されているように、argumentsオブジェクトが返されません。

MDNから矢印関数式は、関数式より短い構文を持っており、自身のこれ、引数、スーパー、またはnew.targetを持っていません。

いずれかの定期的な匿名関数(function() {...})にあなたの矢印機能を変更したり、明示的に引数を解凍するためにスプレッド演算子を使用します。

sinon.stub(console, 'log') 
console.log.callsFake((...args) => { 
    console.info(args) 
}); 
関連する問題