Rumah >hujung hadapan web >tutorial js >Ujian Unit & Integrasi

Ujian Unit & Integrasi

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-03 18:21:40246semak imbas

? Unit Fireup dan Ujian Integrasi dengan Jest dan Axios

Pengujian ialah bahagian penting dalam memastikan kod anda berfungsi seperti yang diharapkan dan kekal boleh dipercayai dari semasa ke semasa. Panduan ini menerangkan Ujian Unit dan Ujian Integrasi dengan contoh menggunakan Jest dan Axios. Pada akhir ini, anda akan dilengkapi untuk menulis ujian anda sendiri dengan yakin! ?


?️ Senarai Kandungan

  1. Pengenalan kepada Pengujian
  2. Ujian Unit
  3. Ujian Integrasi dengan Axios
  4. Kesimpulan

? Pengenalan kepada Pengujian

Pengujian melibatkan pengesahan bahawa kod anda berkelakuan seperti yang diharapkan dalam pelbagai keadaan. Dengan Jest, perpustakaan ujian yang popular, anda boleh menulis dua jenis ujian utama:

  • Ujian Unit: Uji fungsi atau komponen individu secara berasingan.
  • Ujian Penyepaduan: Sahkan cara bahagian berlainan aplikasi anda berfungsi bersama.

Ujian ini membantu menangkap pepijat lebih awal, mengurangkan isu regresi dan mengekalkan kualiti kod yang tinggi. Mari mulakan dengan meneroka Ujian Unit! ?


? Pengujian Unit

Ujian Unit memfokuskan pada menguji fungsi atau komponen individu secara berasingan. Ia memastikan setiap unit kecil kod anda berfungsi secara bebas seperti yang dimaksudkan.

Contoh: Menguji Fungsi Jumlah

Berikut ialah fungsi mudah yang menjumlahkan dua nombor:

// src/sum.js
export const sum = (a, b) => a + b;

Menulis Ujian Unit

Buat fail ujian src/__tests__/sum.test.js dan tulis yang berikut:

// 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);
  });
});

Menjalankan Ujian Unit

Jalankan ujian dengan arahan berikut:

npx jest src/__tests__/sum.test.js

Jika semuanya berfungsi seperti yang diharapkan, anda akan melihat ✅ mengesahkan bahawa ujian itu lulus.

Unit & Integration Testing


? Ujian Integrasi dengan Axios

Ujian Penyepaduan memastikan bahagian aplikasi anda yang berlainan berfungsi dengan baik bersama-sama. Mari uji fungsi yang mengambil data pengguna daripada API menggunakan Axios.

Contoh: Mengambil Data Pengguna

Andaikan kita mempunyai fungsi yang mengambil semula data pengguna daripada 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;
};

Menulis Ujian Integrasi

Untuk menguji fungsi ini, cipta fail src/__tests__/apiService.test.js. Kami akan mengejek Axios untuk menghalang panggilan API sebenar.

// src/sum.js
export const sum = (a, b) => a + b;

Perkara Utama:

  • jest.mock('axios'): Mengejek seluruh perpustakaan Axios.
  • mockResolvedValue: Mensimulasikan respons API yang berjaya.
  • mockRejectedValue: Mensimulasikan kegagalan API.

Menjalankan Ujian Integrasi

Jalankan ujian dengan arahan berikut:

// 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);
  });
});

Jika berjaya, Jest akan mengesahkan ujian untuk kedua-dua senario kejayaan dan kegagalan telah berlalu. ✅

Unit & Integration Testing

? Kesimpulan

Ujian Unit dan Penyepaduan ialah alat penting untuk membina aplikasi yang boleh dipercayai dan boleh diselenggara. Dengan menggunakan Jest dan Axios, anda boleh:

  • Sahkan fungsi individu dengan Ujian Unit.
  • Sahkan interaksi antara modul dengan Ujian Penyepaduan.

Ujian Unit dan Penyepaduan ialah kaedah yang berkuasa untuk memastikan kod anda berfungsi dengan baik secara individu dan kolektif. Mula menambahkan ujian pada pangkalan kod anda hari ini dan nikmati ketenangan fikiran yang datang dengan mengetahui aplikasi anda telah diuji dengan baik. Selamat mengekod dan menguji! ?‍?✨

Atas ialah kandungan terperinci Ujian Unit & Integrasi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn