0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【ひとりカレンダー】ClojureAdvent Calendar 2024

Day 10

Clojure テストを書く

Last updated at Posted at 2024-12-09

advent_calendar_2024.png

Advent Calendar 2024 Day 10

テストの書き方

今日はClojureでのclojure.testライブラリを使ったテストの実行方法を書こうと思います

1. ライブラリのインポート

(ns todo.core-test
  (:require [clojure.test :as t]
            [todo.core :as sut]))

clojure.testをインポートし、tという名前を付けてテスト関連の関数をインポートします。
todo.coreは、テスト対象の名前空間をsutという名前でインポートしています。

2. テストを書く

(t/deftest addition-test
  (t/testing "加算関数のテスト")
  (t/is (= 4 (sut/add 1 3))))

clojure.testから、deftesttestingisの3つの関数を使っています.

deftest

  • テストケースを定義するためのマクロ
  • 名前付きのテストを作成することができます
(deftest addition-test
  (is (= 4 (+ 2 2))))

testing

  • テストの説明を記述することができます
(deftest addition-test
  (testing "加算関数のテスト"
    (is (= 4 (+ 2 2)))
    (is (= 0 (+ -1 1)))))

複数の関連テストがある場合に、各テストの意図を明確にできます

is

  • 条件が正しいかどうかを確認するアサート
(is (= 4 (+ 2 2)))  ;; 成功
(is (= 5 (+ 2 2)))  ;; 失敗

3. テストの実行

REPLで実行

(require '[clojure.test :refer :all])
(run-tests 'todo.core-test)
; 
; Testing todo.core-test
; 
; Ran 1 tests containing 1 assertions.
; 0 failures, 0 errors.

CLIで実行

$ lein test

lein test todo.core-test

Ran 1 tests containing 1 assertions.
0 failures, 0 errors.
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?