ホームページ > ウェブフロントエンド > jsチュートリアル > Jest を使用して単体テストをマスターする: 包括的なガイド

Jest を使用して単体テストをマスターする: 包括的なガイド

Mary-Kate Olsen
リリース: 2024-12-30 14:54:15
オリジナル
203 人が閲覧しました

Mastering Unit Testing with Jest: A Comprehensive Guide

はじめに
単体テストは、コードが期待どおりに動作することを保証するソフトウェア開発の基礎です。利用可能なさまざまなテスト フレームワークの中で、Jest は JavaScript 開発者にとって主要な選択肢として浮上しています。シンプルさと効率性を念頭に置いて構築された Jest を使用すると、開発者は最小限の構成で堅牢な単体テストを作成できます。

Jest とは何ですか?
Jest は、Meta (旧 Facebook) によって開発されたオープンソースの JavaScript テスト フレームワークです。 React、Node.js、その他の JavaScript ライブラリを使用して構築されたアプリケーションとシームレスに統合するように設計されています。 Jest は使いやすさ、強力な機能、優れた開発者エクスペリエンスで知られており、テストを作成するための頼りになるツールとなっています。

Jest 単体テストを使用する理由
Jest は、単体テストの作成、編成、実行のプロセスを簡素化します。開発者が Jest を選ぶ理由は次のとおりです:

  • ゼロ構成: Jest は箱から出してすぐに動作し、最小限のセットアップが必要です。
  • 組み込みモッキング: 関数、モジュール、さらにはタイマーをモックするツールを提供します。
  • スナップショット テスト: Jest は回帰テスト用に UI 出力をキャプチャします。
  • 速度: Jest は効率を最大化するためにテストを並行して実行します。

プロジェクトでの Jest のセットアップ

前提条件
Jest を使用する前に、マシンに Node.js と npm がインストールされていることを確認してください。

Jest のインストール
Jest をインストールするには、次のコマンドを実行します:

バッシュ

コードをコピー

npm install --save-dev jest

Jest の構成
Jest を構成するには、package.json ファイルに jest プロパティを追加するか、専用の jest.config.js ファイルを作成します。これにより、テスト ディレクトリ、カバレッジのしきい値などのオプションをカスタマイズできます。

Jest を使用して最初の単体テストを作成する

テスト ファイルの作成
Jest は、デフォルトで .test.js または .spec.js 拡張子を持つテスト ファイルを認識します。たとえば、math.js で関数をテストしている場合は、math.test.js.

という名前のファイルを作成します。

テストケースの作成
Jest テスト ケースの簡単な例を次に示します。

JavaScript

コードをコピー

const add = (a, b) => a b; 

test('2 つの数値を加算', () => {

expect(add(2, 3)).toBe(5); 

}); 

テストの実行
次のコマンドを使用してテストを実行します:

バッシュ

コードをコピー

npm テスト

Jest はすべてのテスト ファイルを識別し、そのファイル内のテスト ケースを実行します。

単体テスト用の Jest の主な機能

モッキング関数
Jest を使用すると、関数とモジュールをモックしてコンポーネントを個別にテストできます:

JavaScript

コードをコピー

const mockFn = jest.fn(); 

mockFn.mockReturnValue(42); 

expect(mockFn()).toBe(42); 

スナップショットのテスト
スナップショット テストにより、UI コンポーネントが予期せず変更されないことが保証されます。 Jest はコンポーネントの出力を保存し、後続のテスト実行中にそれを比較します。

JavaScript

コードをコピー

test('正しくレンダリングされます', () => {

const Tree = renderer.create(

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート