[解決済み】Mockitoを使用して抽象クラスをテストする
2022-04-04 15:22:20
質問
抽象的なクラスをテストしたいのですが、どうすればいいですか?もちろん 手動でモックを作成する を継承しています。
モックを手作りする代わりに、モッキングフレームワーク(私はMockitoを使用しています)を使用してこれを行うことはできますか?どのように?
どのように解決するのですか?
次の提案は、抽象クラスをテストする際に、本物のサブクラス(モック)を作成することなくテストすることを可能にします。 は サブクラスです。
使用
Mockito.mock(My.class, Mockito.CALLS_REAL_METHODS)
そして、呼び出された抽象的なメソッドをモック化します。
例
public abstract class My {
public Result methodUnderTest() { ... }
protected abstract void methodIDontCareAbout();
}
public class MyTest {
@Test
public void shouldFailOnNullIdentifiers() {
My my = Mockito.mock(My.class, Mockito.CALLS_REAL_METHODS);
Assert.assertSomething(my.methodUnderTest());
}
}
注:このソリューションの利点は、以下のようなことがないことです。 があります。 を実装する必要があります。
というのも、スパイはインスタンスを必要とするので、抽象クラスのインスタンス化可能なサブクラスを作らなければならないからです。
関連
-
[解決済み] プライベートメソッド、フィールド、インナークラスを持つクラスをテストするにはどうすればよいですか?
-
[解決済み] JUnit 4のテストで、ある例外が投げられたことをどのように断言しますか?
-
[解決済み] インターフェースと抽象クラスの違いは何ですか?
-
[解決済み] インターフェースと抽象クラス(一般的なOO)
-
[解決済み] Mockitoでvoidメソッドをモックする方法
-
[解決済み] フェイク、モッキング、スタビングの違いとは?
-
[解決済み] Mockitoを使用して、あるメソッドをモックし、他のメソッドをモックしない
-
[解決済み] Objective-Cで抽象クラスを作成する
-
[解決済み] 抽象クラスをユニットテストする方法:スタブで拡張する?
-
[解決済み] Mockitoで静的メソッドをモックする
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Jdbctemplate の文字列に対するクエリです。EmptyResultDataAccessException: 不正な結果サイズ:期待値1、実際0
-
[解決済み] この配列の中の数字を入れ替えるには、何が足りないのでしょうか?ジャバ
-
[解決済み] Java の substring() の時間複雑性
-
[解決済み] このフォーマット(Tue Jul 13 00:00:00 CEST 2010)の日付をJavaの日付に変換する方法(文字列はalfrescoのプロパティに由来しています)
-
[解決済み] パラメータ[変数]の不正な修飾子;finalのみが許可される[closed]。
-
[解決済み] Javaにおけるシンボリック参照
-
[解決済み] アクティビティに割り当てられない
-
[解決済み] .lengthが解決できない、またはフィールドでない
-
[解決済み] Mockitoでvoidメソッドをモックする方法
-
[解決済み] 抽象クラスをユニットテストする方法:スタブで拡張する?