Clojure:
Pisanie testów

Jak to zrobić:

Clojure, wykorzystując JVM, obsługuje różne frameworki do testowania. Jednak powszechnie używaną wbudowaną biblioteką jest clojure.test. Oto prosty przykład:

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

(deftest test-addition
  (testing "Funkcjonalność dodawania"
    (is (= 4 (add 2 2)))
    (is (= 7 (add 3 4)))))

(run-tests)

Po uruchomieniu tego testu zobaczylibyście wynik podobny do:

Testowanie example.test

Uruchomiono 2 testy zawierające 2 asercje.
0 niepowodzeń, 0 błędów.

Dla tych, którzy szukają opcji z większą ilością funkcji, można wykorzystać biblioteki firm trzecich, takie jak Midje lub test.check. Oto jak można użyć Midje dla podobnego testu:

Najpierw dodaj Midje do zależności twojego project.clj:

[midje "1.9.9"]

Następnie, twój test z Midje może wyglądać tak:

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

(fact "Testowanie dodawania"
  (add 2 2) => 4
  (add 3 4) => 7)

Po uruchomieniu testu przez Midje za pomocą lein midje, wyjście miałoby wyświetlić coś w stylu:

Wszystkie kontrole (2) zakończone sukcesem.