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 ライブラリを導入する必要あり。