jest 및 supertest를 사용하여 node-express api에서 테스트 구현

테스트는 애플리케이션에서 가장 작은 코드 부분의 동작을 확인하는 데 중요합니다. 코드 품질을 개선하고 버그 수정에 소요되는 시간과 비용을 줄이는 데 도움이 됩니다. 또한 단위 테스트는 개발 수명 주기 초기에 버그를 찾는 데 도움이 됩니다. Node.js에는 단위 테스트를 실행하는 데 사용할 수 있는 많은 프레임워크가 있습니다. 그들 중 일부는 다음과 같습니다.
모카, 제스트, 자스민 등

아래에서 jest 및 supertest를 통한 단위 테스트를 살펴보겠습니다.

Jest는 인기 있는 테스트 프레임워크입니다. Facebook에서 개발 및 유지 관리합니다. jest의 주요 기능 중 하나는 잘 문서화되어 있고 병렬 테스트 실행을 지원한다는 것입니다. 즉, 각 테스트는 성능을 최대화하기 위해 자체 프로세스에서 실행됩니다. 또한 테스트 시청, 적용 범위 및 스냅샷과 같은 여러 기능이 포함되어 있습니다.

다음 명령을 사용하여 설치할 수 있습니다.
npm install --save-dev jest
기본적으로 Jest는 루트 폴더의 "tests"라는 폴더에서 모든 테스트 파일을 찾을 것으로 예상합니다.

jest를 사용한 테스트의 예:

const sum = require('./sum');

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


다음은 jest에서 지원하는 일부 assert 유형입니다.

되려고
예: expect(2+2).toBe(4),
동등하다
예:- 기대(데이터).toEqual({하나: 1, 둘: 2})
되지 않도록
예:- 기대(2+2).not.toBe(5)
toBeNull, toBeUndefined, toBegreaterThan, toBeLessThan, toContain, toMatch 등.

다음 명령을 사용하여 개별 파일을 실행할 수 있습니다.
jest <test file name>
package.json에 추가할 테스트 폴더의 모든 테스트 파일을 실행하는 스크립트
"test": "jest"
npm 테스트를 사용하여 테스트를 실행할 수 있습니다.

API 엔드포인트 테스트는 jest와 supertest라는 또 다른 라이브러리의 도움으로 수행할 수 있습니다.

다음을 사용하여 슈퍼 테스트 설치npm install --save-dev supertest
테스트 폴더에서 아래와 같이 샘플 api 테스트를 구현할 수 있습니다.

const request = require('supertest')
const app = require('./app')
const baseUrl = 'http://localhost:8000'

describe('sends users', (app) => {
  it('should return users', async () => {
    const res = await request(baseUrl)
      .get('/getUsers');
    expect(res.statusCode).toEqual(200);
    expect(res.body).toHaveProperty('users');
  });
});

describe('Post Endpoints', () => {
  it('should create a new post', async () => {
    const res = await request(baseUrl)
      .post('/posts')
      .send({
        userId: 1,
        title: 'test',
      })
    expect(res.statusCode).toEqual(200)
    expect(res.body).toHaveProperty('post')
  })
})



npm test를 사용하여 테스트를 실행하면 아래와 같이 터미널 콘솔에서 테스트 결과를 볼 수 있습니다.



자세한 내용은 다음을 방문하십시오.
https://jestjs.io/
https://www.npmjs.com/package/supertest

좋은 웹페이지 즐겨찾기