Jest: Test failed
Jestテストが失敗した場合のエラー
概要
Jestでテストケースが期待した結果と一致せず失敗した場合のエラーです。
エラーメッセージ
FAIL src/utils.test.js
✕ should add numbers correctly (5 ms)
● should add numbers correctly
expect(received).toBe(expected)
Expected: 5
Received: 4
原因
- アサーション失敗: 期待値と実際の値が異なる
- 非同期処理の問題: Promiseの解決を待っていない
- モックの設定ミス: モック関数が正しく設定されていない
- タイミング問題: 非同期処理のタイムアウト
解決策
1. 正確なマッチャーを使用
| |
2. 非同期テストの正しい書き方
| |
3. モックの設定
| |
4. タイマーのモック
| |
5. スナップショットテスト
| |
6. テストカバレッジ
| |
7. デバッグ
| |
| |
8. テストの分離
| |
9. カスタムマッチャー
| |
10. 環境変数のモック
| |
よくある間違い
- toBe() で オブジェクトを比較(toEqual() を使用)
- async テストで await を忘れる
- モックのリセットを忘れる(beforeEach で clearAllMocks)
- テスト間で状態が共有される
Jest の他のエラー
この記事は役に立ちましたか?