自動テスト・品質保証全般に関する記事。E2Eテスト、単体テスト、テストカバレッジ、ベストプラクティスなど、品質の高いソフトウェア開発を支える技術を紹介します。

品質
E2Eテストが本番DBを消した日——条件反転バグ・10分検知・5層防御の全記録

続きを読む
E2Eテスト
ローカルE2Eを65s→15-18sに短縮した話:Supabase migrationの環境差吸収とハッシュキャッシュ

Supabase CLIのバンドルDockerと本番の storage.prefixes 差でマイグレーションが壊れた問題を to_regclass() で吸収し、さらに マイグレーションハッシュキャッシュ + DBリセットとauthモックの並列化で npm run e2e を 65s → 15-18s(-72%)に短縮した実装記録。

続きを読む
品質
feat(feature-flags): 機能フラグと PostHog 計測基盤を追加

Cloudflare Workers と D1(SQLite)を組み合わせた、deploy 不要の機能フラグ基盤の構築事例です。FNV-1a ハッシュで variant を決定的に割り当て、PostHog は露出イベント記録のみに特化した設計を採用。外部障害耐性・SSR 対応・E2E テストのモック不要を同時に実現する方法を解説します。

続きを読む
E2Eテスト
「npm run e2e」一発で完結するローカル E2E 環境を構築する

npm run e2e 一発でローカルE2E環境を完結させる構築方法を解説します。Cloudflare Workers + Supabase + Playwright構成で、Auth認証モック・環境ファイルの安全なクリーンアップ・状態解決フォールバックを自己完結スクリプトにまとめる実装パターンです。

続きを読む
E2Eテスト
複数イベントが同時発火する通知/マイルストーンを優先度+排他で統合する設計

学習アプリやSaaSで複数の通知・マイルストーンが同時発火するケースに対し、優先度ソート・排他ルール・上限件数の3軸で統合する設計パターンを解説します。TypeScript実装例とPlaywrightでのrace-free E2Eテスト手法、prefers-reduced-motion対応まで網羅。

続きを読む
Vitest
「not a constructor」エラー解決 - Vitestでクラスベースライブラリをモックする方法

Vitestで「not a constructor」エラーが出た時の解決方法を解説。JSZipなどクラスベースライブラリを`new`キーワードで正しくモックする方法をコード例と共に紹介。テストが失敗する原因と修正方法がわかります。

続きを読む
E2Eテスト
Playwright toHaveScreenshotの.png拡張子問題を解決

PlaywrightでVRT導入時に遭遇する`toHaveScreenshot`のエラー原因と解決方法を解説。`.png`拡張子の指定方法や`snapshotPathTemplate`の設定例を紹介します。

続きを読む
Vitest
Vitest fake timersとReact Testing Library waitForの相性問題と解決策

Vitestでfake timers使用時、waitForがタイムアウトする問題の解決方法を解説。モック関数の正しい設定、スプレッド演算子の注意点など実践的な解決策を具体例と共に紹介。同じ問題で躓いている開発者必見のトラブルシューティングガイドです。

続きを読む