TSKaigi

テストで表現する「型宣言が変更されていないこと」

5分セッション
14:40 - 15:20 / kickflowトラック

実装が型宣言を満たしていることはTypeScriptコンパイラが、実装が正しい値を返すことはテストが保証します。では、「型宣言そのものが変わっていないこと」は、どうすれば保証できるのでしょうか?
例えば、

  • 型宣言にoptionalなメソッドを追加した
  • 既存のメソッドにoptionalな引数を追加した
  • 型宣言にメソッドを追加し、コンパイラの未実装エラーに促されて実装まで足してしまった
    といった変更は、コンパイラやテストによる検査を通過してしまいます。

そこで本セッションでは、VitestのexpectTypeOfによる「型宣言が変更されていないこと」を保証する方法を紹介します。expectTypeOfを利用した「型のスナップショットテスト」の基本形や、実装する上での注意点をお伝えします。

muramatu

muramatu

株式会社GENDA / 開発部エンジニア

新卒で地方公務員となるも、ソフトウェアエンジニアへの強い憧れから30歳過ぎでスタートアップへ転職。複数社でエンジニアリングマネージャーを努めた後、2025年にGENDAへ入社。現在は複数プロダクトの開発・運用に従事している。趣味は音楽ゲーム。

XZenn
タイムテーブルへ