Menambah Ujian pada Next.js Aplikasi: Panduan untuk Menggabungkan Unit Test

Dalam bahagian ini, kami akan membimbing anda melalui proses meningkatkan Next.js kualiti aplikasi anda dengan menambahkan ujian unit dan penyepaduan. Kami akan menggunakan perpustakaan ujian seperti Jest dan Testing Library untuk memastikan kebolehpercayaan dan kefungsian aplikasi anda.

Ujian Unit dengan Jest

Jest adalah popular testing library untuk melaksanakan ujian unit dalam JavaScript aplikasi. Begini cara anda boleh menambah ujian unit pada Next.js aplikasi anda menggunakan Jest:

Pasang Jest dan perpustakaan berkaitan:

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

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

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

Tulis ujian 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 ialah kit alat yang berkuasa untuk menguji interaksi pengguna dalam aplikasi. Begini cara anda boleh menambah ujian integrasi pada Next.js aplikasi anda menggunakan Testing Library:

Pasang Testing Library dan perpustakaan berkaitan:

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

Tulis ujian 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

Bahagian ini memperkenalkan anda untuk meningkatkan Next.js kualiti aplikasi anda dengan menambahkan ujian unit dan penyepaduan menggunakan perpustakaan ujian seperti Jest atau Testing Library. Dengan melakukan ujian, anda boleh memastikan kebolehpercayaan dan kefungsian aplikasi anda, sambil mengesan dan menangani isu dengan berkesan.