[解決済み] JUnit5でMockitoを使用する方法
質問
MockitoとJUnit 5でインジェクションを使用するにはどうすればよいですか?
JUnit4 では、単に
@RunWith(MockitoJUnitRunner.class)
アノテーションです。JUnit5では
@RunWith
アノテーション?
解決方法は?
Mockitoの使い方にはいろいろありますが、一つずつ見ていきましょう。
手動で
を使用して手動でモックを作成します。
Mockito::mock
は、JUnit のバージョン (あるいはテストフレームワーク) に関係なく動作します。
アノテーションベース
を使用しています。
モック
-アノテーションと、それに対応する
MockitoAnnotations::initMocks
から
モックの作成
はJUnitのバージョンに関係なく動作します(あるいはテストフレームワークもそうですが、テストコードがモジュールで終わるかどうかによって、Java 9がここに干渉する可能性があります)。
Mockitoエクステンション
JUnit 5 は 強力な拡張モデル で、Mockitoは最近、グループ/アーティファクトIDの下で1つを公開しました。 org.mockito : モキート・ジュニット・ジュピター .
を追加することで拡張機能を適用できます。
@ExtendWith(MockitoExtension.class)
をテストクラスに追加し、モックフィールドのアノテーションを
@Mock
. から
MockitoExtension
のJavaDocを参照してください。
@ExtendWith(MockitoExtension.class)
public class ExampleTest {
@Mock
private List list;
@Test
public void shouldDoSomething() {
list.add(100);
}
}
MockitoExtensionのドキュメント には、モックをインスタンス化する他の方法、たとえばコンストラクタ注入 (テストクラスで final フィールドを参照する場合) が記載されています。
ルールなし、ランナーなし
JUnit 4 のルールとランナーは JUnit 5 では機能しないので
MockitoRule
と
Mockitoランナー
は使用できません。
関連
-
jd-gui Java Exceptionが発生しました。
-
Android Studio 3.1.2 で v4, v7 パッケージが見つからない シンボル 'AppCompatActivity' を解決できない
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaでArrayListではなくLinkedListを使用するのはいつですか?
-
[解決済み] JavaでStringをintに変換するにはどうしたらいいですか?
-
[解決済み] プライベートメソッド、フィールド、インナークラスを持つクラスをテストするにはどうすればよいですか?
-
[解決済み] JUnit 4のテストで、ある例外が投げられたことをどのように断言しますか?
-
[解決済み] java.net.URLConnectionを使用してHTTPリクエストを発生させ処理する方法
-
[解決済み] Mockitoでvoidメソッドをモックする方法
-
[解決済み】Android UserManager.isUserAGoat()の正しい使用例?)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
ファインバグタイプ
-
SpringBootApplication を型解決できない。
-
Javaクラスローダーにソースコードから潜り込む
-
プロローグでのコンテンツは禁止されています
-
java Mail send email smtp is not authenticated by TLS encryption solution.
-
spring aop アドバイスからの Null 戻り値が、サマリーのプリミティブ戻り値と一致しない。
-
コミットには何も追加されないが、未追跡のファイルが存在し、gitで未追跡のファイルに対する完璧な解決策
-
Maven Pluginの実行がライフサイクル設定の対象外であるエラーの解決
-
[解決済み] モックオブジェクトの初期化 - MockIto
-
[解決済み] @RunWith(MockitoJUnitRunner.class) vs MockitoAnnotations.initMocks(this)