java.lang.AssertionError エラーの問題を解決する方法

WBOY
リリース: 2023-04-30 17:37:07
転載
5498 人が閲覧しました

Report java.lang.AssertionError

Assert.assertEquals 使用時のエラーを報告

java.lang.AssertionError エラーの問題を解決する方法

##まず、Assert の使用法を理解する必要があります

assert

  • がtrueの場合、プログラムは実行を継続します。

  • false の場合、プログラムは AssertionError をスローして実行を終了します

assert : < ;エラー メッセージ式>

  • が true の場合、プログラムは実行を続行します。

  • false の場合、プログラムは java.lang.AssertionError をスローし、 を出力します。

Ctrl キーを押しながら Assert.assertEquals をクリックすると、

java.lang.AssertionError エラーの問題を解決する方法

が 2 つのオブジェクト タイプの値を判断して比較するために使用されていることがわかります。参照アドレスが等しいかどうかであり、内容は比較されません。

2 つが一致する場合、プログラムは実行を継続します。

2 つが一致しない場合、テスト メソッドは実行されます。は中断され、例外メッセージ AssertionFailedError がスローされます。

私が書いたアサーションは次のようなものです:

Assert.assertEquals(7, userList.size());
ログイン後にコピー

エラーの中で、Excepted が 7 で、actual が 8 であることが明確に指摘されています。 2 つの値が矛盾しており、エラーが報告されます

したがって、7 を 8 に変更するだけです

Assert.assertEquals(8, userList.size());
ログイン後にコピー

java.lang.AssertionError: Expected:2 Actual:9

私は遭遇しましたこれは、単体テストで jdbc コードが見つかりました。

単体テスト コードは次のとおりです。

    @Test
    public void testFind() throws Exception {
        //构建测试数据
        //创建目标类的对象
        CategoryDaoImpl dao = new CategoryDaoImpl();
        //调用对象的目标方法
        List<Category> list = dao.find();
        int actual = list.size();
        int expected = 2;
        //使用断言类的方法判断;比较实际和预计的结果
        Assert.assertEquals(actual, expected);
    }
ログイン後にコピー
同じエラーが報告された場合は、

データベースは予期したものと異なります 2

はい、エラーに書き込まれた実際の値ではありません。たとえば、データベースには 9 つのエントリがあります

以上がjava.lang.AssertionError エラーの問題を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート