makotanの勉強日記

勉強したこととか設定系のメモとかそういうのを集めたもの

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 に変えてみると・・・

即座にそのファイルのテストが走ってエラーの数が一個減る!

実はIntellijClojureプラグインはそんなに優秀だと言いきれない(入力補完は結構優秀だけど)ので、編集時にリアルタイムにコンパイルエラーを表示したりとかのサポートが無いと個人的には辛かった(^^ゞ

それにしても、Clojureの編集してから結果がわかるまでの反応の早さは恐るべき物があるけど、IntelliJを使ったときのJavaの快適さとはまた別だな〜まぁ動的型付言語の一種だし仕方ないかw