JUnit 実践入門 体系的に学ぶユニットテストの技法 - 第1章 JUni tチュートリアル
第1章 JUnitチュートリアル
1.3 JUnitテストを始めよう
- "junit-tutorial" プロジェクトを作成
- JUnit の JAR ファイルを追加
- [JAR ファイルをプロジェクトにコピペ] -> [(右クリックから)Build Path] -> [Add to Build Path]
- "Calculator" クラス作成
- Package: junit.tutorial
- テストクラス作成
- プロジェクトのコンテキストメニュー から、[Build Path] -> [New Source Folder]
- Folde Name: test
- ソースフォルダのコンテキストメニューから、[New] -> [JUnit Test Case]
- プロジェクトのコンテキストメニュー から、[Build Path] -> [New Source Folder]
- テストクラス JUnitテスト実施 -> 未実装につき失敗
1.4 テストコードの記述
- JUnit テストコードのルール
- 日本語メソッド名でわかりやすくする
- Javadoc にもメソッドの一覧は出力されるので、テスト項目の一覧として閲覧できる
- テストクラスのアウトラインを参照すれば、テストクラスで実施しているテストが簡単に把握できる
- テスト失敗時のレポートも、より理解しやすくなる
- 句読点使用不可
- 先頭文字として数字を使用不可
- ユニットテストは、「あるテスト対象クラスのメソッドを実行した時に、戻り値などで取得された実際の値と、期待される値が一致する(しない)はずである」という宣言で構成される
- ユニットテストを作り、具体的な値を当てはめることで、プログラムの潜在的な問題を見つけられる
- テスト対象クラスが完璧に設計されていることを前提とせずに、「何を検証すべきか?」を強く意識する
- このような考え方を強く意識する開発手法をテスト駆動開発と呼ぶ
プロダクションコード
package junit.tutorial; public class Calculator { public int multiply(int x, int y) { return x * y; } public float divide(int x, int y) { if (y == 0) { throw new IllegalArgumentException("divide by zero"); } return (float) x/ (float) y; } }
テストコード
package junit.tutorial; import static org.junit.Assert.*; import static org.hamcrest.CoreMatchers.*; import org.junit.Test; public class CalculatorTest { @Test public void multiplyで3と4の乗算結果が取得できる() { Calculator calc = new Calculator(); int expected = 12; int actual = calc.multiply(3, 4); assertThat(actual, is(expected)); } @Test public void multiplyで5と7の乗算結果が取得できる() { Calculator calc = new Calculator(); int expected = 35; int actual = calc.multiply(5, 7); assertThat(actual, is(expected)); } @Test public void divideで3と2の除算結果が取得できる() { Calculator calc = new Calculator(); float expected = 1.5f; float actual = calc.divide(3, 2); assertThat(actual, is(expected)); } @Test(expected = IllegalArgumentException.class) public void divideで5と0のときIlegalArgumentExceptionを送出する() { Calculator calc = new Calculator(); float actual = calc.divide(5, 0); } }

JUnit実践入門 ~体系的に学ぶユニットテストの技法 (WEB+DB PRESS plus)
- 作者: 渡辺修司
- 出版社/メーカー: 技術評論社
- 発売日: 2012/11/21
- メディア: 単行本(ソフトカバー)
- 購入: 14人 クリック: 273回
- この商品を含むブログ (65件) を見る