Clojure:
Skriva tester
Hur man gör:
Clojure, som utnyttjar JVM, stödjer olika testramverk. Dock är ett vanligt använt inbyggt bibliotek clojure.test
. Här är ett enkelt exempel:
(ns example.test
(:require [clojure.test :refer :all]
[example.core :refer :all]))
(deftest test-addition
(testing "Additionsfunktionalitet"
(is (= 4 (add 2 2)))
(is (= 7 (add 3 4)))))
(run-tests)
Efter att ha kört detta test skulle du se en utskrift liknande:
Testar example.test
Körde 2 tester innehållande 2 påståenden.
0 misslyckanden, 0 fel.
För de som söker mer funktionsrika alternativ kan man använda tredjepartsbibliotek som Midje
eller test.check
. Så här kan du använda Midje för ett liknande test:
Först, lägg till Midje i dina projekt.clj beroenden:
[midje "1.9.9"]
Sedan kan ditt test med Midje se ut så här:
(ns example.test
(:require [midje.sweet :refer :all]
[example.core :refer :all]))
(fact "Testar addition"
(add 2 2) => 4
(add 3 4) => 7)
När du kör testet genom Midje med lein midje
, skulle utskriften visa något liknande:
Alla kontroller (2) lyckades.