[解決済み] Mockitoで静的メソッドをモックする
2022-03-22 02:08:17
質問
を生成するファクトリーを書きました。
java.sql.Connection
オブジェクトを作成します。
public class MySQLDatabaseConnectionFactory implements DatabaseConnectionFactory {
@Override public Connection getConnection() {
try {
return DriverManager.getConnection(...);
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
}
に渡されたパラメータを検証したい。
DriverManager.getConnection
しかし、静的メソッドをモックする方法がわかりません。私はテストケースにJUnit 4とMockitoを使っています。この特定のユースケースをモック/検証する良い方法はありますか?
どのように解決するのですか?
使用方法 パワーモッキート をMockitoの上に置く。
コード例です。
@RunWith(PowerMockRunner.class)
@PrepareForTest(DriverManager.class)
public class Mocker {
@Test
public void shouldVerifyParameters() throws Exception {
//given
PowerMockito.mockStatic(DriverManager.class);
BDDMockito.given(DriverManager.getConnection(...)).willReturn(...);
//when
sut.execute(); // System Under Test (sut)
//then
PowerMockito.verifyStatic();
DriverManager.getConnection(...);
}
詳細はこちら
関連
-
[解決済み] プライベートメソッド、フィールド、インナークラスを持つクラスをテストするにはどうすればよいですか?
-
[解決済み] Pythonで静的なクラス変数は可能ですか?
-
[解決済み] 静的クラスとシングルトンパターンの違い?
-
[解決済み] C言語における「static」の意味とは?
-
[解決済み] Mockitoでvoidメソッドをモックする方法
-
[解決済み] 静的メソッドを使用する場合
-
[解決済み] モッキングとは?
-
[解決済み] Mockitoは複数回呼び出されたメソッドの引数をキャプチャできますか?
-
[解決済み] Mockitoを使用して、あるメソッドをモックし、他のメソッドをモックしない
-
[解決済み】KotlinでJavaの静的メソッドに相当するものは何ですか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
eclipse で「アクセス制限: タイプ 'HttpServer' は API ではありません」というプロンプトが表示される。
-
アクセス制限です。タイプ 'Application' は API ではありません。
-
Enumとの組み合わせでswitchの使い方を一度覚えるために必要な定数式
-
JavaMailのメール送信が失敗するケースとその説明の分析
-
JDKの設定時にjava.dllが見つからない、java SE Runtime Environmentが見つからない問題が発生しました。
-
Eclipse起動エラー:javaは起動したが、終了コード=1を返した(ネット上の様々な落とし穴)
-
HttpClientがGZIP形式でない場合の対処法
-
java -serverコマンドで「Error: no `server' JVM at ... jvm.dll」を解決する方法です。
-
Google Chromeのエラー「Not allowed to load local resource」の解決策について
-
maven プラグイン エラー プラグインの実行は、ライフサイクル構成ソリューションの対象外です。