Problem with spies
- 主要言語
- JavaScript
- スター
- 690
- フォーク
- 25
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
I'm trying to spy on `removeChild` in a test - I have a `parent` node being modified like this:
```
let removals = 0;
let removeChild = parent.removeChild.bind(parent);
parent.removeChild = (child) => {
removals += 1;
return removeChild(child);
};
```
To my surprise, it was counting way too many calls to `removeChild`.
It turns out, several of these methods are being called internally, for brevity.
The real DOM does not call it's own public methods, afaik? If it needs to remove children for other reasons than calls to `removeChild`, it does not internally call the method, it just removed them.
How would you feel about moving the internally reused methods to private methods?
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
調査の方向性
parent.removeChild の実装から始め、内部でそれを呼び出す他の DOM メソッドをたどる。公開メソッドを経由せずに済ませるべき、内部で再利用されている操作を特定し、その後、明示的な removeChild 呼び出しは引き続き観測可能である一方、内部の削除ではカウントが増加しなくなっていることを検証する。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- javascript
- 領域
- web-dev
- issue の種類
- リファクタリング
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 35/100