Junit4の資料は検索するとわりと出てきたがJunit5だと参考資料が少なかったため書きます。
#Junit4とJunit5の違い
・PowerMockitoが使えない
一番大きいのはこれです。private関数のモック化などをJunit4ならPowerMockを使ってできるんですけどJunit5だとそもそも使えない?らしい。
#Junit5でのmockitoの使い方
//モック設定
//メソッド内で宣言しているコンストラクタのモック
MockedConstruction mock = Mockito.mockConstruction(newInstance.class, (mock, context) -> {
newInstance mockClass = mock;
Mockito.doNothing().when(mockClass).returnText(Mockito.any());
});
//フィールドに宣言しているコンストラクタのモック
Mockito.doNothing().when(this.fieldClass).returnInt(Mockito.any());
//テスト対象のprivate関数のモック
Method method = test.class
.getDeclaredMethod("testMethod"
,String.class
,int.class);
method.setAccessible(true);
//テスト実行
method.invoke(test
,"aaaaa"
,111
);
mock.close();