6月 2021の記事

モックを利用したコントローラのテスト方法

yokoe に投稿

タグ

概要

今回は、モックを使用したコントローラクラスのテスト方法についてサンプルと合わせて説明する。

モックを利用したコントローラのテスト方法

テスト対象のコントローラクラスが依存するクラスをモック化する場合のテスト方法を以下のサンプルで示す。

バリデーションの単体テスト方法

yokoe に投稿

タグ

概要

今回は単体テスト実施時にバリデーションの検証を行ったため、方法について調べたことをサンプルと合わせて説明する。

バリデーションの単体テスト方法

バリデーションが付与さてれているbean(form)クラスの入力チェックを行う。
バリデーションが付与さてれているbeanクラスを以下に示す。

@Data
class TestBean {

    @NotNull(message = "not null!!")
    private String name;

}

入力チェックを検証を行う方法を以下のサンプルに示す。

ロガーのログレベルの設定方法(logbackの設定)

yokoe に投稿

タグ

概要

今回はログの単体テスト中にログレベルのチェックする条件分岐を検証するためlogbackの設定を作成しログのログレベルを設定し検証を行った。logbackの設定方法をサンプルと合わせて説明する。

logbackの設定方法

logbackの設定ファイルlogback.xmlをクラスパス直下(プロジェクト名/src/test/resources)に置く。
設定ファイルのサンプルを以下に示す。

モックを利用するサービスクラスのテスト方法

yokoe に投稿

タグ

概要

今回はモックを利用したサービスクラスの単体テストの実装方法についてサンプルと合わせて説明する。

モックを利用するサービスクラスのテスト方法

テスト対象(サービスクラス)を@Injectアノテーションで呼び出す際のcontext.xmlのサンプルはモックを利用せず、DBにアクセスするサービスクラスのテスト方法に記載している。

サービスクラスの単体テストのサンプルを以下に示す。
以下のサンプルはリポジトリをモック化し、テスト対象のメソッドでモック化したメソッドが呼び出されていることとテスト対象の戻り値を検証している。

モックを利用ぜず、DBにアクセスするサービスクラスのテスト方法

yokoe に投稿

タグ

概要

今回は依存クラスを利用したサービスクラスの単体テストの実装方法についてサンプルと合わせて説明する。

モックを利用ぜず、DBにアクセスするサービスクラスのテスト方法

テスト対象(サービスクラス)を@Injectアノテーションで呼び出す際以下のサンプルのようにcontext.xmlに記述する。
また、リポジトリを依存関係を使って呼び出す方法はリポジトリの単体テスト方法 に記載している。

リポジトリの単体テスト方法

yokoe に投稿

タグ

概要

今回は、業務でリポジトリの単体テストを実施したため、テスト方法や設定などをサンプルと合わせてあげたいと思います。

リポジトリの設定方法

context.xmlにて<mybatis:scan>を用いてリポジトリのパスをしていすることでテスト時に@Injectで依存関係の設定する。 以下のサンプルをcontext.xmlに追加する。

<mybatis:scan base-package="リポジトリのパス"/>
DBアクセス方法

リポジトリのDBアクセスを行う場合、context.xmlにてDBのbean定義を行う。 今回はh2 databaseを使用する設定を以下に記す。

単体テストでのログの出力内容の検証方法

yokoe に投稿

タグ

概要

今回は単体テスト時にログの出力内容を検証をすることになったため、ログの出力内容の検証の方法で調べたことをサンプルと合わせてあげたいと思います。

出力されたログの検証方法

出力されたログを検証する際、検証前に以下のサンプルのように値を設定する。

クラスのmock化方法とmock化したクラスのメソッドの返り値の設定方法

yokoe に投稿

タグ

概要

今回は単体テスト時にテスト対象にクラスが依存しているクラスが正しく使われているかなどを検証する際やテスト対象が呼び出している別クラスのメソッドの代替して処理を行う際などに使うmockの使用方法についてサンプルと合わせてあげたいと思います。

クラスのmock化方法(モックの初期化)

テスト対象で呼び出しているメソッドのクラスや引数をモック化する際、mockメソッドを使用することでモック化することができる。
サンプルを以下に示す。

標準エラー出力先の変更方法

yokoe に投稿

タグ

概要

業務でエラーの出力をスタックトレースで行ってい処理を検証することになったため標準エラー出力先を変更し検証をいたしました。 今回はサンプルと合わせて標準出力先の変更方法についてあげたいと思います。

標準エラー出力先の変更方法

標準エラー出力先の変更するためSystem.setErr()で標準エラー出力先を任意のPrintStreamに変更ができる。
PrintStreambyte[]をもとに作成できる。
サンプルを以下に記述する。

FilesクラスのcreateDirectorysメソッドでIOExceptionをモックを使用して発生させる方法

yokoe に投稿

タグ

概要

今回は業務で単体テストを作成中にFilesクラスのcreateDirectorysメソッドでIOExceptionが発生した際の処理をテストするためにモックを使用してIOExceptionを発生させる方法をサンプルと合わせてあげたいと思います。

モック化するクラス

FilesクラスのcreateDirectoryメソッドでIOExceptionを発生させるために以下のクラスをモック化する。