JUnit速効レシピ

概 要

Javaのユニットテストを効率よく行える「JUnit」の導入から実践までを解説したリファレンスです。本書は、EclipseによるJava開発を想定し、JUnitをEclipseに導入する手順から、JUnit4.7の新機能である「ルール」、「なぜユニットテストを行うのか?」といったテストの初心者に必要な知識、JUnitを利用するときの注意点までを解説します。JUnitをすでに使いこなしている人は、用途やクラス名・メソッド名など様々な角度から目的の機能を探せます。テストに関するヒントも随所に掲載しているので、テスト駆動開発のコツ、テストについての考え方、ユニットテストを効率よく行う方法まで理解できます。サンプルコードのダウンロードサービス付き。

著者 濱田優
価格 本体2600円(税別)
ISBN 978-4-7980-4127-8
発売日 2014/5/29
判型 A5
色数 1色
ページ数 328
CD/DVD
対象読者 中級
シリーズ
表紙イメージ
購入 アマゾンで購入する
楽天で購入する

※リンク先によっては、販売ページが用意されていないことがあります。あらかじめご了承ください。

新しいウィンドウで開く 書籍購入のご案内

サポート

サポート情報は以下からご参照下さい。

サポート情報へのリンク

目次

Chapter1 テスト駆動開発について

1-1 テスト駆動開発とは?

1-2 テストコードを作成するのは面倒?

1-3 JUnitとは?

1-4 JUnitによるテスト駆動開発

Chapter2 環境設定

2-1 JDKを入手したい

2-2 JDKをWindowsへインストールしたい

2-3 JDKをMacへインストールしたい

2-4 Eclipseをインストールしたい

2-5 JUnitをEclipseへ導入したい

2-6 hamcrestをEclipseへ導入したい

Chapter3 テストの作成

3-1 テスト用のソースフォルダを作成したい

3-2 テストクラスを作成したい

3-3 テストを宣言したい @Test

3-4 指定の例外を成功とみなしたい @Test(expected=?)

3-5 テストの実行に制限時間を設けたい @Test(timeout=?)

3-6 テスト対象から除外したい @Ignore

3-7 テストの事前処理を定義したい @Before

3-8 テストの事後処理を定義したい @After

3-9 テストクラスの事前処理を定義したい @BeforeClass

3-10 テストクラスの事後処理を定義したい @AfterClass

3-11 テストスイートクラスを宣言したい @SuiteClasses

Chapter4 テストのカテゴリ化

4-1 カテゴリを作成したい

4-2 カテゴリに属することを宣言したい @Category

4-3 カテゴリに属するテストを実行対象としたい @IncludeCategory

4-4 カテゴリに属するテストを実行対象から除外したい @ExcludeCategory

Chapter5 パラメータテストの定義

5-1 パラメータテストとは?

5-2 引数をとるテストメソッドを宣言したい @Theory

5-3 テストするパラメータを定義したい @DataPoint

5-4 テストするパラメータを複数定義したい @DataPoints

Chapter6 実行方法の設定

6-1 テストランナーとは?

6-2 テストクラス内のすべてのテストを実行したい @RunWith(JUnit4.class)

6-3 複数のテストクラスを実行したい @RunWith(Suite.class)

6-4 構造化されたテストクラスを実行したい @RunWith(Enclosed.class)

6-5 引数をもつテストを実行したい @RunWith(Theories.class)

6-6 カテゴリを考慮したテストを実行したい @RunWith(Categories.class)

6-7 独自のテストランナーを作成したい BlockJUnit4ClassRunner

Chapter7 テストの実行

7-1 Eclipse上でテストを実行したい

7-2 コマンドラインからテストを実行したい JUnitCore

7-3 テストクラス内からテストを実行したい JUnitCore

Chapter8 期待値と実測値の検証

8-1 汎用的に一致することを調べたい assertThat()

8-2 一致することを調べたい assertEquals()

8-3 trueであることを調べたい assertTrue()

8-4 falseであることを調べたい assertFalse()

8-5 nullでないことを調べたい assertNotNull()

8-6 nullであることを調べたい assertNull()

8-7 配列が一致することを調べたい assertArrayEquals()

8-8 オブジェクトが一致することを調べたい assertSame()

8-9 オブジェクトが一致しないことを調べたい assertNotSame()

8-10 テストを失敗させたい fail()

Chapter9 前提条件の検証

9-1 汎用的に一致することを調べたい assumeThat()

9-2 trueであることを調べたい assumeTrue()

9-3 nullでないことを調べたい assumeNotNull()

9-4 例外でないことを調べたい assumeNoException()

Chapter10 Matcherオブジェクトによる実測値の取り扱い

10-1 Matcherとは?

10-2 別のMatcherや値が一致することを調べたい is()

10-3 同じ値であることを調べたい equalTo()

10-4 すべてのMatcherが一致することを調べたい allOf()

10-5 いずれかのMatcherが一致することを調べたい anyOf()

10-6 複数のMatcherをANDで連結したい both().and()

10-7 複数のMatcherをORで連結したい either().or()

10-8 nullであることを調べたい nullValue()

10-9 nullでないことを調べたい notNullValue()

10-10 同じインスタンスであることを調べたい? sameInstance()

10-11 同じインスタンスであることを調べたい? theInstance()

10-12 指定クラスのインスタンスであることを調べたい? instanceOf()

10-13 指定クラスのインスタンスであることを調べたい? any()

10-14 指定クラスのインスタンスであることを調べたい? isA()

10-15 文字列が含まれているか調べたい containsString()

10-16 文字列の最初が一致するか調べたい startsWith()

10-17 文字列の最後が一致するか調べたい endsWith()

10-18 コレクション内のすべての要素と一致するか調べたい everyItem()

10-19 コレクション内に期待する値が含まれるか調べたい hasItem()

10-20 コレクション内に複数の期待する値が含まれるか調べたい hasItems()

10-21 かならず一致させたい anything()

10-22 一致しない場合に成功としたい not()

10-23 失敗時のメッセージを上書きしたい describedAs()

Chapter11 独自のMatcherオブジェクト

11-1 独自のMatcherを作成したい BaseMatcher

11-2 ファクトリメソッドを作成したい

11-3 値の比較検証を行いたい matches()

11-4 比較に失敗した場合の処理を定義したい describeTo()

11-5 文字列をエラーメッセージに追加したい appendText()

11-6 オブジェクトをエラーメッセージに追加したい appendValue()

11-7 複数の値をエラーメッセージに追加したい appendValueList()

Chapter12 ルールの利用

12-1 ルールとは?

12-2 テストのルールを宣言したい @Rule

12-3 テストクラスのルールを宣言したい @ClassRule

12-4 一時的なフォルダの作成と解放を行いたい TemporaryFolder

12-5 一時的なフォルダを取得したい getRoot()

12-6 一時的なフォルダ配下に新しいファイルを作成したい newFile()

12-7 一時的なフォルダ配下に新しいフォルダを作成したい newFolder()

12-8 一時的なフォルダ配下を削除したい delete()

12-9 外部リソースを準備し、テスト実行後に解放したい ExternalResource

12-10 テストの事後検証を行いたい Verifier

12-11 テストが失敗した情報やエラーを蓄積したい ErrorCollector

12-12 一致性を調べ、失敗と評価されてもテストを継続したい checkThat()

12-13 別タスクで発生した例外を収集したい checkSucceeds()

12-14 エラーを収集したい addError()

12-15 発生した例外を検証したい none()

12-16 例外の型を検証したい expect()

12-17 例外のメッセージを検証したい expectMessage()

12-18 例外の原因が同じであるか調べたい expectCause()

12-19 テストのタイムアウトを設定したい Timeout

12-20 任意のタイミングで処理を追加したい TestWatcher

12-21 実行中のテスト名を取得したい TestName

12-22 複数定義されたルールの実行順序を制御したい RuleChain

12-23 独自のルールを作成したい TestRule

Chapter13 テスト項目作成のヒント

13-1 予め必要なテスト用フォルダを準備したい TemporaryFolder

13-2 オブジェクトを使ってパラメータテストの可読性を上げたい

13-3 クラス内でランナーや目的別に分類したい

13-4 テストケース抽出のコツ

13-5 テストコード作成のコツ

Chapter14 用語集

PR

秀和システム