Clojure:
Escrevendo testes

Como fazer:

Clojure, aproveitando o JVM, suporta vários frameworks de teste. No entanto, uma biblioteca integrada comumente usada é a clojure.test. Aqui está um exemplo simples:

(ns exemplo.teste
  (:require [clojure.test :refer :all]
            [exemplo.nucleo :refer :all]))

(deftest teste-adicao
  (testing "Funcionalidade de adição"
    (is (= 4 (add 2 2)))
    (is (= 7 (add 3 4)))))

(run-tests)

Após executar este teste, você veria uma saída semelhante a:

Testando exemplo.teste

Executados 2 testes contendo 2 asserções.
0 falhas, 0 erros.

Para aqueles que buscam opções mais ricas em recursos, pode-se utilizar bibliotecas de terceiros como Midje ou test.check. Veja como você poderia usar o Midje para um teste semelhante:

Primeiro, adicione o Midje às dependências do seu project.clj:

[midje "1.9.9"]

Então, seu teste com o Midje pode parecer assim:

(ns exemplo.teste
  (:require [midje.sweet :refer :all]
            [exemplo.nucleo :refer :all]))

(fact "Testando adição"
  (add 2 2) => 4
  (add 3 4) => 7)

Ao executar o teste através do Midje com lein midje, a saída exibiria algo parecido com:

Todas as verificações (2) foram bem-sucedidas.