Bag of ML Words

ML = Machine Learning, Music Love, and Miscellaneous things in daily Livings

JUnitよちよち歩き on IntelliJ Idea

itelliJ idea上でJUnit4使ってテストコードを書くという練習。

基本的に"JUnit 実践入門"の第一章をreproduceするのが目的。

 

 

JUnitのjarをゲットする

なにはともあれ、JUnitのjarをゲットしましょう。

junit-4.12.jarとhamcrest-core-1.3.jarをゲットしておきます。

 

projectの準備

適当なところに新規プロジェクトを作成して、junit-tutorialという名前にします。

モジュール名もjunit-tutorialでいいや。

で、引き続きテストコード用のソースルートを作成します。

testというディレクトリをつくって、project structureとかでtestのディレクトリに設定。緑色になります。

 

あと、project structure -> modulesでjunitとhamcrestのjarを追加します。

 

するとこんな感じ。

f:id:Dr_KayAi:20160416071044p:plain

テストにかけるクラスを書いてテストのひな形を生成

教科書にある通りCalculatorクラスを書きます。

 

f:id:Dr_KayAi:20160416071453p:plain

 

エディター上でテストしたいクラス名(public Calculator)を右クリックしたらtestを生成するっぽいコマンドが出てくるのでテストのひな形を生成します。

(go to --> test --> create a new test. ) 

テストの設定はJunit4を選択。

 

f:id:Dr_KayAi:20160416071837p:plain

適当にcode templateを整備しておくと、こんなのができるのであとは実装とテストですね。

f:id:Dr_KayAi:20160416071856p:plain

 

この状態ではテストメソッドは何も実装していなくて、デフォルトでfailが出るようになっているので、runすると

f:id:Dr_KayAi:20160419222302p:plain

 無事に失敗します。

実装してテストする

ということで、multiplyとdivideのテストメソッドを作ってみる。

あと、Caculator.divideをfloat割り算するように修正。

f:id:Dr_KayAi:20160419223301p:plain

めでたし!

 

例外処理のテスト

例外処理をテストするときには、@Testの後に出てきてほしい例外のクラス名を書いておくと、例外がでると成功、というテストになる。

 

例えば、除算のゼロ割でIllegalArgumentExceptionをthrowさせるように変更しておく。

f:id:Dr_KayAi:20160419224132p:plain

これのテストの書き方と結果。

f:id:Dr_KayAi:20160419224142p:plain

めでたしめでたし!これで1章を突破した。