[nodejs] GraphQL 테스트 작성 방법
이 문서에서는 Node.js에서 GraphQL 테스트 작성을 위한 효과적인 방법에 대해 설명합니다.
1. 테스트 환경 설정
먼저, jest
와 supertest
라이브러리를 사용하여 GraphQL 서버의 엔드포인트를 테스트하는 환경을 설정해야 합니다.
npm install jest supertest --save-dev
2. GraphQL API 테스트
다음으로, supertest
를 사용하여 GraphQL API 테스트를 작성할 수 있습니다. 아래는 간단한 예시입니다.
const request = require('supertest');
const app = require('../server'); // 실제 GraphQL 서버의 엔드포인트
describe('GraphQL API 테스트', () => {
test('특정 쿼리 테스트', async () => {
const query = `
{
// 여기에 테스트할 쿼리 작성
}
`;
const res = await request(app)
.post('/graphql')
.send({ query });
expect(res.status).toBe(200);
expect(res.body).toHaveProperty('data');
});
});
3. Mocking을 활용한 테스트
GraphQL 테스트에서 서버의 의존성을 모킹하고 싶을 때는 jest
의 모킹 기능을 활용할 수 있습니다. 예를 들어, 데이터베이스 쿼리를 모킹하여 테스트할 수 있습니다.
jest.mock('../database', () => {
return {
query: jest.fn().mockReturnValue({ /* 모킹된 데이터 */ })
};
});
4. 요약
GraphQL 테스트를 작성하는 것은 애플리케이션의 안정성을 보장하는 데 중요합니다. Node.js에서는 supertest
및 jest
를 활용하여 효과적으로 GraphQL API를 테스트할 수 있습니다.
위의 예시는 간단한 테스트를 보여주기 위한 것이므로, 프로젝트에 따라 더 다양하고 복잡한 테스트를 작성할 수 있습니다.