🎯 A. よく使うマッチャ一覧


✅ 【要点】

Jest の マッチャ(matcher)

expect(実際の値).マッチャ(期待する値)

の形で、テストの条件を表すもの。

正しく動いているか? バグがないか? をチェックするための基本ツール


🟢 【基本的なマッチャ】

マッチャ 意味 使い方例
toBe 厳密な等価(===) expect(1 + 2).toBe(3)
toEqual オブジェクトや配列の中身の等価 expect({ a: 1 }).toEqual({ a: 1 })
toBeTruthy 真(true) expect(value).toBeTruthy()
toBeFalsy 偽(false) expect(value).toBeFalsy()
toBeNull null expect(value).toBeNull()
toBeUndefined undefined expect(value).toBeUndefined()
toBeDefined 定義されている(undefinedではない) expect(value).toBeDefined()

🟠 【数値・文字列関連】

マッチャ 意味 使い方例
toBeGreaterThan より大きい expect(10).toBeGreaterThan(5)
toBeLessThan より小さい expect(5).toBeLessThan(10)
toBeGreaterThanOrEqual 以上 expect(5).toBeGreaterThanOrEqual(5)
toBeCloseTo 浮動小数点の近似 expect(0.1 + 0.2).toBeCloseTo(0.3)
toMatch 正規表現にマッチする expect('Hello Vue').toMatch(/Vue/)

🟣 【配列・オブジェクト関連】

マッチャ 意味 使い方例
toContain 配列や文字列に含まれている expect([1, 2, 3]).toContain(2)
toContainEqual 配列の中に等しいオブジェクトがある expect([{ a: 1 }]).toContainEqual({ a: 1 })
toHaveLength 配列や文字列の長さ expect([1, 2, 3]).toHaveLength(3)
toHaveProperty オブジェクトにプロパティがある expect(obj).toHaveProperty('name')

🟤 【関数・モック関数関連】

マッチャ 意味 使い方例
toHaveBeenCalled 呼び出された expect(mockFn).toHaveBeenCalled()
toHaveBeenCalledTimes 指定回数呼ばれた expect(mockFn).toHaveBeenCalledTimes(2)
toHaveBeenCalledWith 特定の引数で呼ばれた expect(mockFn).toHaveBeenCalledWith('arg')
toHaveBeenLastCalledWith 最後にその引数で呼ばれた expect(mockFn).toHaveBeenLastCalledWith('arg')
toHaveReturned 戻り値がある expect(mockFn).toHaveReturned()
toHaveReturnedWith 指定の戻り値を返した expect(mockFn).toHaveReturnedWith(42)