
Mock Functionsって種類がたくさんあるみたいだけど、どれが便利なの?
具体的にどう使うのか教えて!
JestのMock Functionsの中でも便利な使い方を
ピックアップしてわかりやすく解説します!

この記事を書いた人

- エンジニア歴4年のフリーランスデータエンジニア
- 高卒工場勤務からエンジニア転職
- 3年目でフリーランスになり年収1000万↑達成
- フルリモ歴2年、2児の育児中
おすすめの エージェント | 特徴 | 詳しい解説は コチラ👇 |
---|---|---|
geechs job | ・大手企業との取引が多い ・リモート案件80%以上 | /geechs_job |
Midworks | ・クラウド会計ソフトfreeeの利用が無料 ・マージンが比較的低い | /midworks |
TECH STOCK | ・平均年収が935万円と高い ・フルリモート案件が72%以上 | /techstock |
PE-BANK | ・マージンが低く手取りが多い、福利厚生も充実 ・地方の案件も豊富に取り扱っている | /pe-bank |
techadapt | ・エージェント全員がエンジニア経験者 ・確定申告時の税理士報酬負担制度あり | /techadapt |
Mock Functionsの便利な種類と使い方
1. jest.fn()
:基本的なMock関数
最もシンプルなMock Functionです。
関数の動作を模擬し、呼び出し回数や引数を記録します。
使い方例:
2. mockReturnValue
:固定の値を返す
jest.fn()
に対して、特定の戻り値を設定できます。
使い方例:
3. mockImplementation
:任意の実装をモックする
実際の関数のように、任意のロジックをモックできます。
使い方例:
4. mockResolvedValue
:非同期関数で値を返す
非同期処理(Promise
)に対応したMock関数を作成できます。
使い方例:
5. mockRejectedValue
:非同期関数でエラーを返す
非同期処理でエラーを模擬する場合に使用します。
使い方例:
6. jest.spyOn
:既存の関数をスパイする
オブジェクトのメソッドをモックしつつ、元の動作を保持できます。
使い方例:
7. mockClear
とmockReset
:履歴をリセット
テスト中にMock関数の履歴をクリアしたい場合に使います。
違い:
mockClear
: 呼び出し履歴のみをリセット。mockReset
: 呼び出し履歴に加えて、戻り値や実装もリセット。
使い方例:
8. mockImplementationOnce
:一度だけ特定の値を返す
呼び出しごとに異なる戻り値を設定したい場合に便利です。
使い方例:
Mock Functionsのメリットを最大限活用!
Mock Functionsを使うメリット
- 外部依存の排除: APIやデータベース操作を省略してテストが可能。
- 柔軟なテスト: 任意の戻り値やエラーを簡単に設定。
- 詳細な検証: 呼び出し回数や引数の追跡が可能。
まとめ
JestのMock Functionsは、テストを効率化し、バグを防ぐ強力なツールです。
特に以下の機能を覚えておくと、初心者でもすぐに実践的なテストが書けます。
mockReturnValue
とmockResolvedValue
で値をモック。jest.spyOn
で既存関数を監視。mockImplementation
で柔軟なロジックを実装。
JestのMock Functionsを使いこなして、テストの質を上げましょう!
リモート案件を探せる エージェント | 特徴 |
---|---|
geechs job | 90%以上がリモート案件。高単価・優良案件が多い。 |
Midworks | フルリモート案件だけに絞って検索可能。福利厚生が手厚い。 |
TECH STOCK | 72%がリモート案件。平均年収935万。 |
PE-BANK | マージンが低く、福利厚生が手厚い。地方の案件も豊富。 |
techadapt | 条件を満たせば確定申告時の税理士費用を負担してもらえる。 |