[解決済み】オブジェクトが特定の型であることを保証する
2022-04-07 11:52:38
質問
JUnitで、あるオブジェクトがクラスのインスタンスであることを表明することは可能ですか?様々な理由で、テストにオブジェクトがあり、その型をチェックしたい。それは Object1 のタイプなのか、それとも Object2 のタイプなのか?
現在、私は
assertTrue(myObject instanceof Object1);
assertTrue(myObject instanceof Object2);
これはうまくいくのですが、もっと表現力のある方法はないかと考えていました。
例えばこんな感じ。
assertObjectIsClass(myObject, Object1);
こんなこともできるんだ。
assertEquals(myObject.class, Object1.getClass());
よりエレガントで流動的な方法でオブジェクトの型をテストすることができる、特定のアサートメソッドはありますか?
どのように解決するのですか?
を使用することができます。
assertThat
メソッドと、JUnitに付属するMatcherを使用します。
を見てみましょう。 このリンク には、JUnit Matchersについて少し書かれています。
例
public class BaseClass {
}
public class SubClass extends BaseClass {
}
テストします。
import org.junit.Test;
import static org.hamcrest.CoreMatchers.instanceOf;
import static org.junit.Assert.assertThat;
/**
* @author maba, 2012-09-13
*/
public class InstanceOfTest {
@Test
public void testInstanceOf() {
SubClass subClass = new SubClass();
assertThat(subClass, instanceOf(BaseClass.class));
}
}
関連
-
[解決済み] Jdbctemplate の文字列に対するクエリです。EmptyResultDataAccessException: 不正な結果サイズ:期待値1、実際0
-
[解決済み] ヘッドリカーシオンとテールリカーシオンの違い [重複]について
-
[解決済み] JUnit 4のテストで、ある例外が投げられたことをどのように断言しますか?
-
[解決済み] 例外がスローされたことを確認するためにAssertを使用するにはどうすればよいですか?
-
[解決済み] Mockitoを使用して特定のメソッドが呼び出されていないことを確認するにはどうすればよいですか?
-
[解決済み] Java の assert キーワードは何をするのか、そしていつ使うべきなのか?
-
[解決済み] JUnit4でテストメソッドを特定の順序で実行するには?
-
[解決済み] Mockito : メソッド内で生成されたオブジェクトでメソッドが呼び出されたことを確認する方法?
-
[解決済み] mockitoで特定の型のリストをキャプチャする方法
-
[解決済み】2つのJUnit Assertクラスの相違点
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] java.sql.SQLException: ORA-00933: SQL コマンドが正しく終了していません。
-
[解決済み] Application startメソッドで例外が発生する。JavaFx 11
-
[解決済み] なぜJPAには@Transientアノテーションがあるのですか?
-
[解決済み] mavenのコンパイルに失敗するのはなぜですか?
-
[解決済み] 親から継承したメソッドの可視性を下げることができない [重複]。
-
[解決済み] 型の不一致:ArrayListからListへの変換ができない
-
[解決済み] eclipseからTomcatに物理的に発行されるmyjspはどこにあるのでしょうか?
-
[解決済み] アクティビティに割り当てられない
-
[解決済み] アニメーションGIFの表示
-
[解決済み] .lengthが解決できない、またはフィールドでない