Clojure:
Testien kirjoittaminen

Kuinka:

Clojure, hyödyntäen JVM:ää, tukee erilaisia testauskehyksiä. Kuitenkin yleisesti käytetty sisäänrakennettu kirjasto on clojure.test. Tässä on yksinkertainen esimerkki:

(ns example.test
  (:require [clojure.test :refer :all]
            [example.core :refer :all]))

(deftest test-addition
  (testing "Lisäysfunktio"
    (is (= 4 (add 2 2)))
    (is (= 7 (add 3 4)))))

(run-tests)

Tämän testin suorittamisen jälkeen näkisit tulosteen, joka muistuttaisi:

Testing example.test

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

Niille, jotka etsivät ominaisuuksiltaan rikkaampia vaihtoehtoja, voi käyttää kolmannen osapuolen kirjastoja, kuten Midje tai test.check. Tässä on, miten voisit käyttää Midjeä vastaavaan testiin:

Lisää ensin Midje projektisi clj-riippuvuuksiin:

[midje "1.9.9"]

Sitten testisi Midjen kanssa saattaisi näyttää tältä:

(ns example.test
  (:require [midje.sweet :refer :all]
            [example.core :refer :all]))

(fact "Testataan lisäystä"
  (add 2 2) => 4
  (add 3 4) => 7)

Testin suorittamisen jälkeen Midjen kautta komennolla lein midje, tuloste näyttäisi jotakin vastaavaa:

Kaikki tarkistukset (2) onnistuivat.