1. ホーム
  2. java

[解決済み] mockitoで最終クラスをモックする方法

2022-02-09 06:43:37

質問

こんな感じの最終クラスがあります。

public final class RainOnTrees{

   public void startRain(){

        // some code here
   }
}

このクラスはこんな風に他のクラスで使っています。

public class Seasons{

   RainOnTrees rain = new RainOnTrees();

   public void findSeasonAndRain(){

        rain.startRain();

    }
}

で、JUnitのテストクラスで Seasons.java をモック化したい。 RainOnTrees クラスがあります。Mockitoでこれを行うにはどうすればよいですか?

どのように解決するのですか?

Mockito v2のみで、final/staticクラス/メソッドのモッキングが可能です。

をgradleファイルに追加してください。

testImplementation 'org.mockito:mockito-inline:2.13.0'

Mockito v1では、このようなことはできません。 モッキートFAQ :

<ブロッククオート

Mockitoの制限事項とは

  • java 1.5+ が必要です。

  • ファイナルクラスのモック不可

...