JUnit

JUnit Mockito入門・基本的な使い方を解説

Mockitoは、Javaのモック作成および
スタブ作成のためのオープンソースの
モックフレームワークです。

モックは、テストの際に
他のオブジェクトをシミュレート
または置き換えることができる
オブジェクトです。

ここでは、Mockitoの概要と
使い方を解説していきます。

SPONSORED LINK

なぜMockitoが必要?


Mockitoを使用すると、テスト時に
依存関係のあるオブジェクトをモック化して、
それらのオブジェクトの振る舞いを制御したり、
テストデータを提供したりすることができます。

これにより、テストの環境を制御し、
テスト対象のコードをより単独で
効果的にテストすることができます。

Javaのモック作成フレームワークとして
非常に人気があり、
柔軟性と簡潔さが特徴です。

1.モックオブジェクトの作成と設定

他のオブジェクトをモック化し、
そのモックオブジェクトの振る舞いを設定できます。

・メソッドの戻り値を指定
・例外をスロー

2.モックオブジェクトの検証

モックオブジェクトが
テスト中に適切に使用されたかどうかを
検証することができます。

モックオブジェクトに対して
呼び出されるメソッドや
引数の検証を行うことが可能です。

3.スタブの作成

テスト中に特定のメソッド呼び出しに対して
事前に定義した戻り値や
例外を提供するスタブを
作成することができます。

4.アノテーションのサポート

アノテーションを使用して
モックオブジェクトを簡単に作成
および注入するための
アノテーションサポートも提供しています。

SPONSORED LINK

Mockitoの使い方


クラスのモック化

モック化したメソッドを呼び出す場合
クラスをモック化します。

  • 1:@Mockを付与
  • 2:mock()メソッドを使用

オブジェクト自体は造形なので、
挙動を定義しなかったメソッドは nullを返却する

テスト対象クラスにモックを注入

@InjectMocksアノテーションを付与して
テストクラスに対して自動的に
依存関係のモックオブジェクトを注入します。

@InjectMocksアノテーションを定義ずる場合
@Mockアノテーションや
MockitoAnnotations.initMocks()メソッドを使用する

public メソッドの返却値を任意の値に設定する方法

1.thenReturn()メソッド

Mockito.when(モックインスタンス).メソッド(任意の引数).thenReturn(任意の返却値);

2.doReturn()メソッド(呼出回数:1回)

Mockito.doReturn(任意の返却値).when(モックインスタンス).メソッド(任意の引数);

3.doReturn()メソッド(呼出回数:複数回)

Mockito.doReturn(任意の返却値).when(モックインスタンス).メソッド(任意の引数);

拡張for文を使ったメソッドの呼出回数によって
返却値(List)を変更する方法はこちら

public void メソッドの場合

doNothing()メソッド

Mockito.doNothing().when(モックインスタンス).メソッド(任意の引数);

モック化したメソッドの引数を検証する方法

ArgumentCaptor

ArgumentCaptor<型> 変数 = ArgumentCaptor.forClass(型.class);

モック化したメソッドの呼び出し回数を検証する方法

verify()メソッド ※times(index)

Mockito.verify(モックインスタンス, times(index)).モックメソッド(引数);

モック化したメソッドが一度も呼び出されなかったことを検証する方法

verify()メソッド ※never()

Mockito.verify(モックインスタンス, never()).モックメソッド(引数);

SPONSORED LINK

今の年収に満足していますか?



同じ契約金で業務委託していても

在籍している会社によって給料が違います。


今と同じスキル・業務内容でも

年収が変わるということです。


さらに以下を考慮すると

より年収アップにつながります。


  • スキルセットと需要
  • 経験と実績
  • 業界や地域の市場価値
  • 転職時の交渉スキル


転職先の企業の給与体系や

業界の標準的な給与水準を調査し、

転職前後の給与を比較することができます。


給与のみでなく、

福利厚生やキャリア成長の機会、

ワークライフバランスなどの要素も

総合的に考慮することが重要です。


こちらで転職・年収アップできました👇【エントリーは簡単30秒!】


【ITエンジニア特化LP】転職エージェント





ITエンジニアの知識を効率よく身につけるには?


Kindle Unlimitedは、Amazonが提供する

月額定額制の電子書籍サービスを活用します。


また、Kindle Unlimitedには、

体験版が提供されています。


体験版では、一定期間(通常は30日間)に限り、

Kindle Unlimitedのサービスを

無料で利用することができます。

1.豊富な書籍のラインナップ

Kindle Unlimitedには、

幅広いジャンルの書籍が

数十万冊以上含まれています。


小説、ビジネス書、自己啓発書、

学術書、漫画など、

様々なテーマや興味に合わせて

多彩な選択肢があります。


2.サービスの内容を体験

体験版では、Kindle Unlimitedの

全ての機能を使いながら、

豊富な書籍のラインナップや

読書体験を体験することができます。


自身の読書の好みや

利用頻度に合うかどうかを確認できます。


3.解約が可能

体験版期間中に

Kindle Unlimitedのサービスに

満足しなかった場合、

期限内に解約することができます。


その場合、追加料金はかかりません。



ここで利用できました👇【登録は簡単30秒!】


Kindle Unlimitedの無料体験を始める



Kindle Unlimitedでは

さまざまなジャンルの書籍が提供されています。


ITエンジニアとしてスキルを向上させたり

新しい技術を学んだりする際に、

Kindle Unlimitedは

便利な資源となるのでおすすめです。


SPONSORED LINK

これで年収アップ!IT未経験者だけど転職する方法とメリットを解説!前のページ

Apache Commons Lang 3 をプロジェクトに追加してStringUtilsを開発環境に設定する方法を解説次のページ

ピックアップ記事

  1. Java入門 JavaプラットフォームやJava言語の仕組み
  2. Java クラスのインスタンス化・初期化とは?
  3. Java 9が正式リリース

関連記事

  1. JUnit

    JUnit 入門・基本的な使い方を解説

    JUnitは、Javaで開発されたプログラムのふるまいを検証す…

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

Recommended Article

Pickup

  1. JUnit

    JUnit Mockito メソッドの呼出回数によって返却値を変更する方法
  2. Java

    Java Template Method デザインパターン(abstract)の…
  3. 文字列

    Java 出力文字を英語や指定した言語に変換する方法を解説
  4. Class・Object

    Java オブジェクト指向の解説・カプセル化
  5. 制御文

    Java switch文の使い方とdefaultとbreakの役割と関係性を解説…
PAGE TOP
Translate »

Copyrighted Image