38. `jest.spyOn()`を実装する
シェアしよう
簡単 - accepted / - tried
ユニットテストを書いたことある方なら、Spy
については詳しいでしょう。
jest.spyOn()のように、spyOn(object, methodName)を実装してください。
下記の仕様を満たしてほしい
- spyが呼ばれるときに、元のメソッドも呼ばれる
- spyに
calls
配列あり、実行されるたびに引数がcalls
に保存される
コードを見ればわかるはず
const obj = {
data: 1,
increment(num) {
this.data += num
}
}
const spy = spyOn(obj, 'increment')
obj.increment(1)
console.log(obj.data) // 2
obj.increment(2)
console.log(obj.data) // 4
console.log(spy.calls)
// [ [1], [2] ]