Dodawanie testów do Next.js aplikacji: przewodnik po włączaniu Unit Test

W tej sekcji przeprowadzimy Cię przez proces podnoszenia Next.js jakości aplikacji poprzez dodanie testów jednostkowych i integracyjnych. Będziemy korzystać z bibliotek testowych takich jak Jest i Testing Library, aby zapewnić niezawodność i funkcjonalność Twojej aplikacji.

Testowanie jednostkowe za pomocą Jest

Jest jest popularnym narzędziem testing library do wykonywania testów jednostkowych w JavaScript aplikacjach. Oto jak możesz dodać testy jednostkowe do swojej Next.js aplikacji za pomocą Jest:

Zainstaluj Jest i powiązane biblioteki:

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

Utwórz Jest plik konfiguracyjny( jest.config.js):

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

Napisz testy jednostkowe, używając Jest:

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

Testowanie integracji z Testing Library

Testing Library to potężny zestaw narzędzi do testowania interakcji użytkownika w aplikacjach. Oto jak możesz dodać testy integracyjne do swojej Next.js aplikacji za pomocą Testing Library:

Zainstaluj Testing Library i powiązane biblioteki:

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

Napisz testy integracyjne, używając 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();  
});  

Wniosek

W tej sekcji przedstawiono sposoby zwiększania Next.js jakości aplikacji poprzez dodanie testów jednostkowych i integracyjnych przy użyciu bibliotek testowych, takich jak Jest lub Testing Library. Wykonując testy, możesz zapewnić niezawodność i funkcjonalność swojej aplikacji, jednocześnie skutecznie wykrywając i rozwiązując problemy.