【ISSUE】[Vitest]mockを使ってテストしてみよう

0

2024年12月23日 8:40

はじめに

Vitest は、高速で柔軟なユニットテストフレームワークです。Vitest を使うことで、モックを活用したテストを簡単に書くことができます。本記事では、Vitest のモック機能を使ったテスト手法について解説します。

mockとは

mock とは、実際の動作を模倣したダミーオブジェクトのことです。テストを行う際に、実際の動作を再現するのが難しい場合や時間がかかる場合、mock を使うことで効率的にテストを行うことができます。

なぜmockを使うのか

mock を使うメリットは以下のようなことが考えられます。

  • 外部依存関係のあるコードをテストしやすくなる
  • 外部の API や DB 接続など、テスト環境で再現が難しい動作をモックできる
  • 外部システムの影響を受けずにテストできる
  • テストの実行時間が短縮できる
  • これらのメリットを活かすことで、効率的かつ信頼性の高いテストを書くことができます。

mockを使ってテストを書いてみる

Vitest では、vi.fn() を使ってモック関数を作成することができます。以下に具体的な例を示します。

img

img
この例では、mockTestFunc 関数をモック化し、正常な入力と異常な入力に対してテストを行っています。モック関数の呼び出し回数やパラメータ、戻り値などをアサーションすることで、関数の動作を検証しています。

Vitest の vi.fn() を使うことで、簡単にモック関数を作成できます。また、toHaveBeenCalledWith や toHaveBeenCalledTimes などのアサーション関数を使うことで、モック関数の呼び出しの検証も行えます。

最後に

Vitest を使ったモックを活用したテストについて解説しました。モックの活用は、効率的かつ信頼性の高いテストを書くための重要なテクニックです。

参考

https://vitest.dev/guide/mocking.html

https://vitest.dev/api/mock

最後に

他にも色々な記事を書いているので、よければ読んでいってください、、、

https://qiita.com/hukuryo/items/5c1f04929caea8a409dc

https://qiita.com/hukuryo/items/3e4cc8b3588d39df84ea

https://qiita.com/hukuryo/items/b7eacc4c9cd844dda9b6
[cv:issue_marketplace_engineer]

0

診断を受けるとあなたの現在の業務委託単価を算出します。今後副業やフリーランスで単価を交渉する際の参考になります。また次の単価レンジに到達するためのヒントも確認できます。