- Criar um novo projeto clojure com leiningen
Criar um diretório para o projeto e nele executar no terminal:
$ lein new cipher
-
Abrir/Importar o projeto no [IntelliJ] https://www.jetbrains.com/idea/download/
-
Editar o arquivo project.clj para adicionar o
midje
como dependência do projeto. E adicionar o pluginlein-midje
para executarmos os testes.
(defproject cipher "0.1.0-SNAPSHOT"
:description "FIXME: write description"
:url "http://example.com/FIXME"
:license {:name "Eclipse Public License"
:url "http://www.eclipse.org/legal/epl-v10.html"}
:plugins [[lein-midje "3.2.1"]]
:dependencies [[org.clojure/clojure "1.8.0"]
[midje "1.9.0"]])
- Atualizar dependencias no IntelliJ (para que o editor consiga fazer autocomplete e o highlight corretamente do código)
- Editar o arquivo
core_test.clj
e adicionar o midje na lista de required namespaces.
(:require [cipher.core :as core]
[midje.sweet :refer :all])
Obs. Note que mudamos aqui também o require do namespace cipher.core de
[cipher.core :refer :all]
para[cipher.core :as core]
. Com isso criamos um alias para este namespace, esta é uma boa prática pois evita o conflito de funções além de ajudar na leitura e organização do código.
- No diretório do seu projeto, execute no terminal
$ lein midje :autotest
O autotest vai executar os testes a cada mudança no código :)
- Adicionar um novo teste no arquivo core_test.clj com o Midje (e remover o teste do clojure.test gerado)
(fact "this will fail"
1 => 2)
No seu terminal veja que o novo teste já foi executado e deve ter um resultado como:
FAIL "this will fail" at (core_test.clj:7)
Expected:
2
Actual:
1
Faça esse teste passar :)
Próximo: Visão geral de Clojure