単体テストと結合テスト

Mary-Kate Olsen
リリース: 2025-01-03 18:21:40
オリジナル
251 人が閲覧しました

? Fireup ユニットと Jest および Axios との統合テスト

テストは、コードが期待どおりに動作し、長期にわたって信頼性が維持されることを確認するために重要な部分です。このガイドでは、JestAxios を使用した例を使用して、単体テスト統合テスト について説明します。これを終えると、自信を持って独自のテストを作成できるようになります。 ?


⁉️目次

  1. テストの概要
  2. 単体テスト
  3. Axios との統合テスト
  4. 結論

?テストの概要

テストには、コードがさまざまな条件下で期待どおりに動作することを検証することが含まれます。人気のテスト ライブラリである Jest を使用すると、次の 2 つの主要なタイプのテストを作成できます。

  • 単体テスト: 個々の機能またはコンポーネントを分離してテストします。
  • 統合テスト: アプリケーションのさまざまな部分がどのように連携して動作するかを検証します。

これらのテストは、バグを早期に発見し、回帰の問題を軽減し、高いコード品質を維持するのに役立ちます。まずは 単体テスト を見てみましょう! ?


?単体テスト

単体テスト は、個々の機能またはコンポーネントを分離してテストすることに重点を置いています。これにより、コードの小さな単位がそれぞれ意図したとおりに独立して動作することが保証されます。

例: Sum 関数のテスト

これは 2 つの数値を合計する単純な関数です:

// src/sum.js
export const sum = (a, b) => a + b;
ログイン後にコピー
ログイン後にコピー

単体テストの作成

テスト ファイル src/__tests__/sum.test.js を作成し、次のように記述します。

// src/__tests__/sum.test.js
import { sum } from '../sum';

describe('sum', () => {
  it('should add two numbers correctly', () => {
    expect(sum(1, 2)).toBe(3);
    expect(sum(-1, 1)).toBe(0);
  });
});
ログイン後にコピー
ログイン後にコピー

単体テストの実行

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

npx jest src/__tests__/sum.test.js
ログイン後にコピー

すべてが期待どおりに動作すると、テストが成功したことを確認する ✅ が表示されます。

Unit & Integration Testing


? Axios との統合テスト

統合テスト は、アプリケーションのさまざまな部分が適切に連携して動作することを確認します。 Axios を使用して API からユーザー データを取得する関数をテストしてみましょう。

例: ユーザーデータの取得

API からユーザー データを取得する関数があるとします。

// src/apiService.js
import axios from 'axios';

export const fetchUserData = async (userId) => {
  const response = await axios.get(`https://jsonplaceholder.typicode.com/users/${userId}`);
  return response.data;
};
ログイン後にコピー

統合テストの作成

この関数をテストするには、ファイル src/__tests__/apiService.test.js を作成します。実際の API 呼び出しを防ぐために Axios をモックします。

// src/sum.js
export const sum = (a, b) => a + b;
ログイン後にコピー
ログイン後にコピー

重要なポイント:

  • jest.mock('axios'): Axios ライブラリ全体をモックします。
  • mockResolvedValue: 成功した API 応答をシミュレートします。
  • mockRejectedValue: API の失敗をシミュレートします。

統合テストの実行

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

// src/__tests__/sum.test.js
import { sum } from '../sum';

describe('sum', () => {
  it('should add two numbers correctly', () => {
    expect(sum(1, 2)).toBe(3);
    expect(sum(-1, 1)).toBe(0);
  });
});
ログイン後にコピー
ログイン後にコピー

成功した場合、Jest は成功シナリオと失敗シナリオの両方のテストが合格したことを確認します。 ✅

Unit & Integration Testing

?結論

単体テストと統合テストは、信頼性が高く保守可能なアプリケーションを構築するために不可欠なツールです。 JestAxios を使用すると、次のことが可能になります。

  • 単体テストを使用して個々の関数を検証します。
  • 統合テストを使用してモジュール間の相互作用を検証します。

単体テストと統合テストは、コードが個別にも集合的にも適切に動作することを確認するための強力な方法です。今すぐコードベースにテストを追加し始めて、アプリケーションが十分にテストされているという安心感をお楽しみください。コーディングとテストを楽しんでください。 ?‍?✨

以上が単体テストと結合テストの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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