[clojure] Clojure 테스트 작성 방법

Clojure는 함수형 프로그래밍 언어이며, 테스트 주도 개발(Test-Driven Development, TDD)을 촉진하는 많은 도구와 라이브러리를 제공합니다. 이 기술 블로그에서는 Clojure에서 테스트를 작성하는 방법에 대해 알아보겠습니다.

1. 라이브러리 추가

Clojure 프로젝트에서 테스트를 작성하기 위해 먼저 clojure.test 라이브러리를 추가해야 합니다. project.clj 파일에 아래와 같이 의존성을 추가합니다.

:dependencies [[org.clojure/clojure "1.10.1"]
               [org.clojure/test "0.3.0"]]

의존성을 추가한 뒤에는 터미널에서 lein deps 명령어를 실행하여 의존성을 갱신합니다.

2. 테스트 작성

Clojure에서 테스트를 작성하려면 함수에 대한 테스트 케이스를 정의해야 합니다. 아래는 my-namespace 네임스페이스의 함수에 대한 테스트 예제입니다.

(ns my-namespace-test
  (:require [clojure.test :refer :all]
            [my-namespace :refer :all]))

(deftest my-test
  (testing "addition"
    (is (= 4 (add 2 2)))
    (is (not= 5 (add 2 2)))))

(run-tests)

위 예제에서 deftest 매크로는 새로운 테스트를 정의하고, testing 매크로는 각 테스트 케이스의 설명과 테스트를 정의합니다.

3. 테스트 실행

테스트를 실행하기 위해서는 프로젝트 디렉토리에서 터미널을 열고 아래 명령어를 실행합니다.

lein test

위 명령어는 프로젝트 내의 모든 테스트를 실행하고 결과를 출력합니다.

Clojure를 사용하여 효과적으로 테스트를 작성하고 실행하는 방법에 대해 알아보았습니다. Clojure의 강력한 도구를 이용하여 테스트 주도 개발을 효율적으로 수행할 수 있습니다.

참고 자료