月曜日, 8月 11, 2025
月曜日, 8月 11, 2025
- Advertisment -
ホームニューステックニュースVitest Browser ModeにVisual Regression Testが来るぞ

Vitest Browser ModeにVisual Regression Testが来るぞ


先日VitestにこちらのPull Requestがマージされ、Vitest Browser ModeでVisual Regression Test(VRT)ができるようになりました(まだ正式リリースはされていません)。

https://github.com/vitest-dev/vitest/pull/8041

おそらくVitest v4のリリースで正式に使えるようになりますが、beta versionで実際に試すことができるので試してみました。

https://github.com/apple-yagi/vitest-browser-mode-vrt-demo

expectの引数にElementを渡し、toMatchScreenshotを実行することでVRTができます。以下は実際のコードと生成された画像です。

https://github.com/apple-yagi/vitest-browser-mode-vrt-demo/blob/12c2075ec88f6f979f968da0882efe3e01172831/src/components/contact-form.test.tsx#L8

https://github.com/apple-yagi/vitest-browser-mode-vrt-demo/blob/main/src/components/screenshots/contact-form.test.tsx/contact-form-chromium-darwin.png

snapshotに差分ができるとテストがfailし、以下のようなディレクトリにdiff画像などが出力されます。PlaywrightのようにreportをWeb上で見ることはできません。

オプションで許容する差分などを指定することができます。今のところvitest.configなどで一括で指定することはできなさそうです(Extending Matchersを使用すればできると思いますが)。

screenshotでスクリーンショットを撮り、pixelmatchで画像を比較しているようです。

https://github.com/macarie/vitest/blob/50047212f2a2b7242809f155b869a2f7aaef0457/packages/browser/src/node/commands/screenshot.ts#L66

https://github.com/macarie/vitest/blob/50047212f2a2b7242809f155b869a2f7aaef0457/packages/browser/src/node/commands/screenshotMatcher/comparators/pixelmatch.ts

Source link

Views: 0

RELATED ARTICLES

返事を書く

あなたのコメントを入力してください。
ここにあなたの名前を入力してください

- Advertisment -