IntelliJ IDEAでmidjeのautotestをするまで
Intellij IDEA 12だとClojureプラグインが駄目なので13に変えるか、Intellijのサポートページからダウンロードしてインストール。って思ったけど、実はあんまり必須じゃ無いので詳細はパス
プログラムを作ってて面倒なのが、コードを書いてUnitTestを動かしてを繰り返すこと。いっそのことコードを書いたら勝手にUnitTest動かせば良いのに〜って思ってたらそんなのがClojureにはいっぱいあったので試してみた
leiningenがセットアップ済みの前提
leiningen用のmidjeプラグインをセットアップする
~/.lein/profiles.clj ってファイルを↓の内容で作成
{:user {:plugins lein-midje "3.0.0"}}
プロジェクトを作る
lein new midje test
そしたらプロジェクトファイルが作られるのでこの部分をちょっと変更するというかバージョンを書き換えてるだけ
:dependencies org.clojure/clojure "1.5.1"
:profiles {:dev {:dependencies midje "1.6.0"}})
コマンドでプロジェクト作成時に出来たmidjeのテストを動かす(意識的なのか、エラーになる)
lein midje
エラーになるけど、それが正しい姿なので気にしない
IntellijにLeiningenプロジェクトとして取り込む
次にIntellijで動かすので・・・ Run -> Edit Configurationの + ボタンを押して Leiningenを選択
Working directoryはプロジェクトを作ったディレクトリ、Nameは適当に(とりあえず midjeとして説明) Golesに midje :autotest を入力
さっき作った midjeを実行すると画面下にエラーが表示される
t_core.cljファイルの12行目辺りの => :default を => nil に変えてみると・・・
即座にそのファイルのテストが走ってエラーの数が一個減る!
実はIntellijのClojureプラグインはそんなに優秀だと言いきれない(入力補完は結構優秀だけど)ので、編集時にリアルタイムにコンパイルエラーを表示したりとかのサポートが無いと個人的には辛かった(^^ゞ
それにしても、Clojureの編集してから結果がわかるまでの反応の早さは恐るべき物があるけど、IntelliJを使ったときのJavaの快適さとはまた別だな〜まぁ動的型付言語の一種だし仕方ないかw