Menambahkan Pengujian ke Next.js Aplikasi: Panduan Penggabungan Unit Test

Di bagian ini, kami akan memandu Anda melalui proses peningkatan Next.js kualitas aplikasi Anda dengan menambahkan pengujian unit dan integrasi. Kami akan menggunakan perpustakaan pengujian seperti Jest dan Testing Library untuk memastikan keandalan dan fungsionalitas aplikasi Anda.

Pengujian Unit dengan Jest

Jest adalah yang populer testing library untuk melakukan pengujian unit dalam JavaScript aplikasi. Berikut cara menambahkan pengujian unit ke Next.js aplikasi Anda menggunakan Jest:

Instal Jest dan perpustakaan terkait:

npm install jest @babel/preset-env @babel/preset-react babel-jest react-test-renderer --save-dev

Buat Jest file konfigurasi( jest.config.js):

module.exports = {  
  testEnvironment: 'jsdom',  
  transform: {  
    '^.+\\.jsx?$': 'babel-jest',  
  },  
};  

Tulis pengujian unit menggunakan Jest:

import { sum } from './utils';  
  
test('adds 1 + 2 to equal 3',() => {  
  expect(sum(1, 2)).toBe(3);  
});  

Pengujian Integrasi dengan Testing Library

Testing Library adalah perangkat yang ampuh untuk menguji interaksi pengguna dalam aplikasi. Berikut cara menambahkan pengujian integrasi ke Next.js aplikasi Anda menggunakan Testing Library:

Instal Testing Library dan perpustakaan terkait:

npm install @testing-library/react @testing-library/jest-dom --save-dev

Tulis tes integrasi menggunakan Testing Library:

import { render, screen } from '@testing-library/react';  
import App from './App';  
  
test('renders learn react link',() => {  
  render(<App />);  
  const linkElement = screen.getByText(/learn react/i);  
  expect(linkElement).toBeInTheDocument();  
});  

Kesimpulan

Bagian ini memperkenalkan Anda untuk meningkatkan Next.js kualitas aplikasi Anda dengan menambahkan pengujian unit dan integrasi menggunakan pustaka pengujian seperti Jest atau Testing Library. Dengan melakukan pengujian, Anda dapat memastikan keandalan dan fungsionalitas aplikasi Anda, sekaligus mendeteksi dan mengatasi masalah secara efektif.