JUnitとか使うのかなとか思いつつ、
ちょっと触ってみました。
JUnitは普通に
http://www.junit.org/
からjunit-4.9.jarが最新だったのでそれを落としてきました。
それを以下のlib内にコピー
プロジェクト名
┣src
┗lib
┗junit-4.9.jar
(ProjectName\lib\junit-4.9.jar)
junit-4.9.jarを右クリック
ビルド・パスに追加
参照ライブラリーに追加されていればOK.
追加してもなんだか反映されないぞっ
ってときはF5とかで更新してください。
あとは、適当にテストコードを書けばOKです。
ためしに書いた雰囲気をつかむ用。
(特にテストしたいソースがなかったので
内容は超適当)
package hello;久しぶりにEclipseを使ったせいか、ショートカットキーの忘れが激しくて少し書きづらかった…
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import static org.hamcrest.CoreMatchers.*;
import static org.junit.Assert.*;
public class HelloWorldTest {
@Before
public void before(){
System.out.println("テストが呼ばれる前に実行される。");
System.out.println("■開始");
}
@After
public void after(){
System.out.println("テストが呼ばれた後に実行される。");
System.out.println("■終了");
}
@Test
public void testNormal(){
String[] actual = { "Hello", "World", "!!" };
assertThat(actual,is(actual));
}
@Test
public void testFailed(){
fail();
}
}
少しめも…
Ctrl+Shift+M: import補完(なんか選択している単語についてだけだったのは気のせい?
Alt +Shift+T: JUnitテストを実行
実行結果はこんな感じ。
@Beforeと@Afterは
casesetupとteardown。1つ1つのテストが実行される前に実行される
初期化メソッドと、後始末メソッドです。
テスト開始時と終了時に1回だけ実行したい場合には、
@BeforeClassと@AfterClassアノテーションを使えばOK。
@Ignoreを使うと、テストメソッドと認識されない。
@Test(expected=NumberFormatException.class)
とか書くと、NumberFormatExceptionがthrowされることを
期待するテストメソッドとなる。
あと、他に
EclEmmaというのも入れました。これは、実行されたコードを色付きであらわしてくれます。
そして、どの何%実行されているとかもみれるので、
すべてのコードの組み合わせを網羅しているかのチェックにもなります。
(だからといって、仕様を全て満たしたという意味ではない。
あくまでコードは全て通ったかどうかのチェック)
これは、Eclipseのメニューの
[ヘルプ]
⇒[新規ソフトウェアのインストール]
⇒ロケーションに、http://update.eclemma.org/と入力
⇒EclEmmaを選択
⇒次へ、とかを選択してインストールをする。
⇒再起動
実行するとこんな感じです。
緑が実行されたコード 赤は実行されなかったコード |
それにしても、このブログ使いづらいかもw
画像を簡単に追加はできるんだが、
追加されるところが少しずれて、
自分で修正が結構必要。カーソルのところに
追加されるんじゃないの?
まぁいいや。
Cのテストよりも色々できそうな雰囲気を感じ取りました。
Javaの他のテストフレームワークは使えるほど
いい感じのがたくさんあるのかな。
EMMAとStrutsアプリでカバレッジ取得ができるみたいなので
テストするときにはこれは役にたってくれるのかな。
そしたらStrutsを使うことになってしまうけれど。
目的別、フレームワークの長所短所をもっと知る必要が
ありますね。
眠い。
ショーシャンクの空に
という映画をやっと見る機会ができたので、
見ようと思っていたはずなのに
JUnitに負けた!!
早く名作みたい。
それではまた次回。
0 件のコメント:
コメントを投稿