ホームページ >Java >&#&チュートリアル >java.lang.AssertionError エラーの問題を解決する方法

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB転載
2023-04-30 17:37:075561ブラウズ

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 までご連絡ください。