ビルドスクリプト
このbuildスクリプトはGoogle-guiceとh2データベースとjunitを入れるだけの簡単なプロジェクト。
読めば大体わかりますね。
javaとgroovyを使って、IntelliJ IDEAで開発できて、jarを最終的に吐き出すプロジェクトです。
GradleをMavenと比較して残念なところに、generate-archetypeみたいに、いい感じのディレクトリツリーを作ってくれるコマンドがないので、
とりあえず、ideaタスクの後に自作して強引に作るようにしています。
Tasks
Gradleでどのようなタスクがあるかを一覧表示します。
gradle tasksというコマンドがそれです。
プロジェクトの作成
では、ideaプロジェクトを作成しましょう。
gradle ideaコマンドとgradle structureコマンドを打つことでプロジェクトの構造が出来上がります。
実際にはideaタスクの後にstructureタスクを割りこませる方法があるんですが、忘れた…orz
プロジェクトの取り込み
では、作成したプロジェクトをideaで取り込みます。
Open Projectを選択します。
先程作成したgradle-study2.iprファイルを選択します。
こんな感じに依存性を解決したideaプロジェクトが作成されます。
GroovyでJUnit
JUnit4はPOJOまたはPOGOでできるので、GroovyでもJUnit4のテストを書けます。
では早速やってみましょう。
パッケージ作り忘れたので、src/test/groovyディレクトリで、[Alt + Insert]を押します。(MacではCtrl + n)
ここで「pa…」と入力すると、packageが選択できます。
適当にパッケージ名を入れましょう。
パッケージができたら、作成したパッケージのところでまたもや[Alt + Insert]。(MacではCtrl + n)
GroovyClassを選択します。
適当なので適当にクラス名を入れます。
早速、@Beforeから書いて行きましょう。
IDEAの素晴らしいところは、あの忌々しい[Ctrl + Space]を入れなくてもどんどん補完してくれる所
さらには依存性が解決している範囲で、あの忌々しい[Ctrl + 1]を入力しなくても、[Alt + Enter]で勝手にimport文を作ってくれるあたり。
なんか適当にlistとかいうフィールド、インスタンスを作ってみましたが、
これはフィールドとして設定しましょう。
listが初出の場所にカーソルを当てて、[Ctrl + Alt + f]、(Macの場合は[コマンド + alt + f])
でいい感じにフィールドを作成してくれます。
適度にスコープを選択して、defで割り当てましょう。
おもむろにテストを書いてみましょうか。
なんか、何もしていないのにアノテーションですら自動補完してくれます。
JUnit4をJavaでやるときはもちろん、org.junit.Assert.assertThatあたりを用いますが、
Groovyでテストをするときは、そんなもん使いません。
assertだけで十分です。
テストわざと間違えていますが…
テストを実行するのは、[alt + shift + F10]です。
何のテストを実行したいか選択して下さい。
メソッド単位で実行できます。
さて、実行結果です。
もちろんテスト間違えているので、どうなるか気になりますね。
テスト実行結果。
何がどういう値で、何が間違っているかがちゃんと表示されるんです。
これはGroovyだからできるんです。Power Assertと言います。
これはGroovyだからできるんです。Power Assertと言います。
大事な事ですから二度言いました。
これはGroovyだからできるんです。Power Assertと言います。
これがJUnitのassertThatなどだったら、expected<4> but got <3> くらいしか出してくれません。
この親切さ。これはGroovyだからできるんです。Power Assertと言います。
こいつはテストを直しておきます。
POJOのテスト
POJOもテストしましょう。もちろんテストはGroovyでやっちゃいます。
とりあえず、誰でも思いつきそうなPOJOでPersonというクラスを作ります。
メンバーはintのageとStringのfirstNameとlastNameです。
getterとsetter作らないとですね。
何もない所で、[alt + insert]を押します。(Mac版ちょっとど忘れ)
とりあえず、メンバー全部選択しましょう。
まあ、このあたりはeclipseでもやれるので、どうということはないですね。
じゃあ、テストを書きましょう。もちろんGroovyで。
Groovyでは特にコンストラクターが指定されていなければ、内部のフィールドに値を一気に代入させることができます。
ほんまかいな?と思うので、assertをかけてみましょう。
さ、テストを実行しましょう。
ほれ、ノープロブレム!!!!
Gradleに戻って
とりあえず、テストを落ちるようにしておきます。
では、gradleでテストを実行します。
テスト実行結果
さて、テストが2つコケたらしいですね。
では結果をhtmlファイルで見てみます。
これがレポートファイルです。
これらの詳細を見ることができます。
ちゃんとテストがどういう点が悪くてfailしたのか一目瞭然ですね。
というわけで、Gradle、あの複雑なpomを書かなくても、いい感じで、ココまでやってくれるのですから、今はAnt + Ivyだけどという人は是非トライしてみましょう。
0 件のコメント:
コメントを投稿