[javascript] 자바스크립트 테스트 더미(Dummy) 세팅 방법

프로젝트에서 자바스크립트 코드를 테스트하기 위해서는 테스트 더미(Dummy)를 설정해야 합니다. 테스트 더미는 외부 의존성을 가짜로 대체하여 코드를 격리하고, 테스트할 수 있도록 도와줍니다.

테스트 더미란 무엇인가요?

테스트 더미는 테스트할 때 외부 의존성을 대체하는데 사용되는 가짜 객체입니다. 이를 사용하면 코드 간의 의존성을 격리해 테스트하기 쉬워집니다. 예를 들어, 외부 API 호출이나 데이터베이스 연결을 시뮬레이션하는 데에 사용됩니다.

자바스크립트 테스트 더미 설정 방법

테스트 더미를 설정하기 위해서는 주로 모의 객체(Mock)테스트 스파이(Test Spy)를 사용합니다. Jest나 Sinon 같은 라이브러리를 이용하면 쉽게 테스트 더미를 설정할 수 있습니다.

아래는 Jest를 사용하여 모의 객체를 만드는 예제 코드입니다.

// 모듈 가져오기
const userService = require('../userService');
const emailService = require('../emailService');

// 모의 객체 설정
jest.mock('../emailService', () => ({
  sendEmail: jest.fn()
}));

test('sendWelcomeEmail sends an email', () => {
  userService.sendWelcomeEmail('test@test.com');
  expect(emailService.sendEmail).toHaveBeenCalledWith('test@test.com', 'Welcome!');
});

위 코드에서 emailService를 모의 객체로 대체하여 sendEmail 함수를 가짜로 만들었습니다. 이를 통해 userServicesendWelcomeEmail 함수를 테스트할 수 있게 되었습니다.

마치며

테스트 더미를 설정하면 외부 의존성을 격리하여 자바스크립트 코드를 효과적으로 테스트할 수 있습니다. 적절한 테스트 더미를 설정하여 안정적이고 견고한 코드를 작성하는 데 도움이 될 것입니다.

자바스크립트 테스트 더미 설정에 대해 더 알고 싶다면, Jest나 Sinon 라이브러리의 문서를 참고해보세요.