MENU

Jasmineとは|BDDをJavaScriptへ持ち込んだ古参フレームワーク

Jasmine アイキャッチ
Jasmine

Jasmineは2009年頃にPivotal Labs(Rajan Agaskar、Davis W. Frankら)が開発を始め、2010年に正式公開したJavaScript向けの振る舞い駆動開発(BDD)テストフレームワークである。RSpecの記法をJavaScriptへ持ち込んだ草分け的存在で、外部依存なしでブラウザでもNode.jsでも動作する。AngularJSの初期テスト基盤として広まり、現在もAngular公式構成やKarmaと組み合わせて使われ続けている。本稿ではJasmineの歴史、コアAPI、運用上のポイントを順に整理する。

目次

この記事の目次

  1. JasmineとBDDのJavaScriptへの導入
  2. describe/it/expectとマッチャ
  3. Karma連携とAngularでの採用
  4. Jest・Vitest時代における立ち位置
  5. まとめ

JasmineとBDDのJavaScriptへの導入

JasmineとBDDのJavaScriptへの導入

2009年頃、JavaScriptのテスト環境はQUnitやScrewUnitなどが主流だったが、RubyのRSpecが提示したBDDスタイルの読みやすさをJSへ取り込みたいというニーズが高まっていた。Pivotal Labsはアジャイル開発支援企業として、社内のJavaScriptプロジェクトでRSpec風の記述を可能にすべくJasmineを起こした。2010年公開のバージョン1.0以降、コアなdescribe/it/expect記法は2025年現在まで一貫して保たれている。

Jasmineの設計哲学は「外部依存ゼロ」「シンプルなAPI」「ブラウザ/Node.js両対応」の三本である。DOM操作やビルドツールを前提とせず、