Jestは**「オールインワンで簡単に始められる」**のが最大の特徴。
他のテストツール(Mocha、Jasmine、Karmaなど)と比べて、
セットアップが楽、速い、使いやすい です。
| ツール名 | 役割 | 特徴 |
|---|---|---|
| Jest | テストランナー、アサーション、モック全入り | 設定が簡単・スナップショット・高速 |
| Mocha + Chai | ランナー(Mocha) + アサーション(Chai) | 柔軟だけど自分で組み合わせ必要 |
| Jasmine | ランナー + アサーション + モック付き | 古くからある、設定少なめ |
| Karma | ブラウザ実行用のテストランナー | ブラウザでの動作確認に強いが設定が複雑 |
| Vitest | Vite環境向けのテストランナー | Jestに似てるけどVite用、速い |
| ポイント | Jest | 他のツール |
|---|---|---|
| ✅ 最初から全部入り | ランナー / アサーション / モック / スナップショット | Mochaは別途ChaiやSinonが必要 |
| ✅ 設定が簡単 | npx jest --init ですぐ動く |
Karmaはwebpack設定が必要 |
| ✅ スナップショットテスト | 標準機能 | Mocha, Jasmineは外部ライブラリが必要 |
| ✅ 並列実行で速い | 〇(マルチスレッド) | Mochaはシングルスレッドが基本 |
| ✅ カバレッジ計測 | --coverage ですぐできる |
他は istanbul など外部導入が必要 |
npm install --save-dev mocha chai
// test.js (Mocha + Chai)
const { expect } = require('chai');
describe('sum', () => {
it('1 + 2 は 3', () => {
expect(1 + 2).to.equal(3);
});
});
👉 これにモックやスナップショットを足したければ、別で sinon や snapshot ライブラリを導入する必要あり。