🧪

happy-domでMutationObserverの単体テストをしたい

2024/07/12に公開

こんにちは。
MutationObserverを使っているプロジェクトで、happy-domを使った単体テストをしたかったのですが、少々手間取ったので備忘録を残しておきます。

テスト方法

検知した後に、await new Promise((resolve) => setTimeout(resolve, 1));で反映を待機する必要がありました。
更新時に即座にコールバックが呼ばれるわけではないみたいです。

以下、happy-dom内で実装された単体テストの例

https://github.com/capricorn86/happy-dom/blob/e6f91276d7b4549d17f5d67bd2f909723f4940b3/packages/happy-dom/test/mutation-observer/MutationObserver.test.ts#L17-L41

Discussion