0Pricing
jQuery Academy · 강의

테스트 환경 설정

Jest 또는 QUnit과 같은 도구를 사용해 테스트 환경을 구성하고, jQuery 함수와 플러그인의 동작을 검증할 단언문을 설정합니다.

테스트 환경 설정은(는) CoddyKit의 무료 jQuery Academy 강의입니다. 이것은 3개 중 2번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 jQuery Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. jQuery Academy 강의에는 총 3개의 강의가 포함되어 있습니다.

jQuery 코드를 테스트해야 하는 이유

jQuery 코드에 대한 테스트를 작성하는 일은 견고하고 유지 관리하기 쉬운 웹 애플리케이션을 만드는 데 매우 중요합니다. 테스트는 버그를 조기에 발견하고 코드가 예상대로 동작하는지 확인하는 데 도움을 줍니다.

  • 회귀 방지: 새로운 변경 사항으로 기존 기능이 손상되지 않도록 합니다.
  • 코드 품질 향상: 모듈화되고 테스트 가능한 코드를 작성하게 합니다.
  • 협업 지원: 구성 요소가 어떻게 작동해야 하는지 명확하게 문서화합니다.

테스트 실행기 선택

jQuery를 포함한 JavaScript를 테스트하려면 테스트 실행기가 필요합니다. 이 도구는 테스트를 실행하고 결과를 보고합니다.

널리 사용되는 두 가지 선택지는 다음과 같습니다.

  • Jest: Facebook에서 만든 현대적이고 기능이 풍부한 테스트 프레임워크입니다. React에 널리 사용되지만 모든 JS에 적합합니다.
  • QUnit: jQuery 전용 테스트 프레임워크입니다. Jest보다 단순하지만 기능은 적습니다.

이 레슨에서는 다양한 기능과 폭넓은 사용을 고려하여 Jest 설정에 집중하겠습니다.

프로젝트 초기화(Node.js)

Jest를 설치하기 전에 Node.js 프로젝트가 필요합니다. 프로젝트가 없다면 쉽게 만들 수 있습니다.

터미널에서 프로젝트 디렉터리로 이동한 후 다음을 실행하세요.

npm init -y

이 명령은 프로젝트의 의존성과 스크립트를 관리하는 package.json 파일을 만듭니다.

Jest 및 JSDOM 설치

이제 Jest를 설치해 보겠습니다. jQuery는 브라우저의 DOM(Document Object Model)과 자주 상호 작용하므로 jest-environment-jsdom도 필요합니다. JSDOM은 Node.js에서 브라우저와 유사한 환경을 제공하므로 jQuery 코드가 가상 DOM을 조작할 수 있습니다.

개발 의존성으로 설치하세요.

npm install --save-dev jest jest-environment-jsdom

이렇게 하면 Jest와 JSDOM이 package.json에 추가됩니다.

JSDOM에 맞게 Jest 구성

Jest에 JSDOM을 사용하도록 지시하려면 구성해야 합니다. package.json에 test 스크립트를 추가하거나 jest.config.js 파일을 만들면 됩니다.

옵션 1: package.json에 추가

{
  "name": "my-jquery-app",
  "version": "1.0.0",
  "scripts": {
    "test": "jest --env=jsdom"
  },
  "devDependencies": {
    "jest": "^29.x.x",
    "jest-environment-jsdom": "^29.x.x"
  }
}

--env=jsdom 플래그를 사용하면 Jest가 JSDOM 환경에서 테스트를 실행합니다.

첫 번째 테스트 파일

Jest는 __tests__ 디렉터리나 .test.js(또는 .spec.js)로 끝나는 파일에서 테스트 파일을 찾습니다. 간단한 테스트 파일을 만들어 보겠습니다.

프로젝트 루트에 __tests__라는 디렉터리를 만든 다음 __tests__/my-feature.test.js와 같은 파일을 추가하세요.

// __tests__/my-feature.test.js

describe('My Feature', () => {
  test('should do something basic', () => {
    // Test logic will go here
  });
});

describe는 관련 테스트를 그룹화하고, test(또는 it)는 개별 테스트 사례를 정의합니다.

테스트를 위한 jQuery 가져오기

jQuery 코드를 테스트하려면 테스트 파일 자체로 jQuery를 가져와야 합니다. npm을 통해 jQuery를 설치할 수 있습니다: npm install jquery.

그런 다음 테스트 파일에서 다음과 같이 가져올 수 있습니다.

// __tests__/my-feature.test.js
const $ = require('jquery');

describe('My jQuery Feature', () => {
  // Setup for each test
  beforeEach(() => {
    // Create a fresh DOM element for each test
    document.body.innerHTML = '<div id="test-element">Hello</div>';
  });

  test('should add a class to the element', () => {
    const element = $('#test-element');
    element.addClass('highlight');
    expect(element.hasClass('highlight')).toBe(true);
  });
});

기본 검증 작성

검증은 코드가 올바르게 동작하는지 확인하는 방법입니다. Jest에서는 expect() 함수와 매처를 함께 사용하여 검증합니다.

다음은 간단한 JavaScript 예시입니다(jQuery 전용 예시는 아니지만 검증을 보여 줍니다).

function addNumbers(a, b) {
  return a + b;
}

// Example of how Jest would test this:
// expect(addNumbers(2, 3)).toBe(5);
// expect(addNumbers(-1, 1)).toBe(0);

console.log("2 + 3 = " + addNumbers(2, 3));
console.log("5 + 10 = " + addNumbers(5, 10));

자주 사용하는 Jest 매처

Jest는 다양한 매처를 제공합니다. 다음은 자주 사용하게 될 몇 가지입니다.

  • .toBe(value): 정확히 같은지 확인합니다(===와 유사).
  • .toEqual(value): 객체나 배열이 깊은 수준에서 같은지 확인합니다.
  • .not.toBe(value): 같지 않은지 확인합니다.
  • .toBeTruthy() / .toBeFalsy(): 참 같은 값인지 또는 거짓 같은 값인지 확인합니다.
  • .toContain(item): 배열이나 문자열에 항목이 포함되어 있는지 확인합니다.

jQuery에서는 다음과 같이 이러한 매처를 jQuery 메서드와 함께 사용하는 경우가 많습니다. expect($element.text()).toBe('Expected Text');

테스트 실행

테스트 파일을 설정했다면 실행하는 방법은 간단합니다. package.json에 정의한 스크립트를 사용하세요.

npm test

Jest는 모든 테스트 파일을 찾아 JSDOM 환경에서 실행하고 터미널에 결과를 보고합니다. 어떤 테스트가 통과했는지, 어떤 테스트가 실패했는지 표시하며 실패한 테스트에 대한 세부 정보도 제공합니다.

설정 빠른 확인

Jest와 JSDOM을 사용하여 jQuery 테스트 환경을 설정하는 방법을 배웠습니다. DOM을 지원하는 기본 Jest 설정에 꼭 필요한 명령과 구성은 다음 중 무엇일까요?

복습: 테스트 환경 설정

이 레슨에서는 Jest를 사용하여 jQuery 애플리케이션을 위한 견고한 테스트 환경을 설정하는 방법을 배웠습니다.

  • npm init으로 Node.js 프로젝트를 초기화했습니다.
  • 브라우저 환경을 모방하기 위해 Jest와 jest-environment-jsdom을 설치했습니다.
  • JSDOM을 사용하도록 package.json에서 Jest를 구성했습니다.
  • 테스트 파일을 구성하고, jQuery를 가져오고, Jest의 매처를 사용하여 기본 검증을 작성하는 방법을 이해했습니다.

이 기반을 활용하면 효과적인 테스트를 작성하여 jQuery 코드의 신뢰성과 유지 관리성을 확보할 수 있습니다.

자주 묻는 질문

“테스트 환경 설정” 강의는 무료인가요?

네 — “테스트 환경 설정” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 jQuery Academy 강의 전체를 잠금 해제할 수 있습니다. jQuery Academy 강의에는 총 3개의 강의가 포함되어 있습니다.

“테스트 환경 설정”에서 뭘 배우나요?

Jest 또는 QUnit과 같은 도구를 사용해 테스트 환경을 구성하고, jQuery 함수와 플러그인의 동작을 검증할 단언문을 설정합니다. 브라우저에서 직접 실행하는 실습 코드로 jQuery Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

jQuery Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 jQuery Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 3개 중 2번째 강의입니다.

“테스트 환경 설정” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 jQuery Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 jQuery Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. jQuery 단위 테스트 입문
  2. 테스트 환경 설정
  3. 효과적인 jQuery 테스트 작성
← jQuery Academy(으)로 돌아가기