1. 程式人生 > >junit 5 方法:assertEquals 和 assertTrue

junit 5 方法:assertEquals 和 assertTrue

 

區塊鏈中會用到junit 5的屬性assertEquals 和 assertTrue

assertEquals 和 assertTrue 區別

相同之處:都能判斷兩個值是否相等 
assertTrue 如果為true,則執行success,反之Failure 
assertEquals 如果預期值與真實值相等,則執行success,反之Failure

不同之處: 
assertEquals 執行Failure會有錯誤提示,提示預期值是xxx,而實際值是xxx。容易調式 
assertTrue 沒有錯誤提示

程式碼塊

App.java

package com.yubai.Test;

public class App 
{
    public String method(){
        return this.getClass().getName();
    }
}

AppTest.java

package com.yubai.Test;

import static org.junit.Assert.*;//必須是static
import org.junit.Test;

public class AppTest {
    App app = new App();

    @Test
    public void testBaseClass(){
     assertTrue(app.method().equals("com.yubai.Test.App"));
    }

    @Test
    public void testmethod(){
        assertEquals("com.yubai.Test.App", app.method());
    }
}

執行成功結果

這裡寫圖片描述

assertEquals 執行失敗後的錯誤提示

這裡寫圖片描述

org.junit.ComparisonFailure: expected:<…ven.TestMaven_test.A[]> but was:<…ven.TestMaven_test.A[pp]>

assertTrue 執行失敗後的錯誤提示

這裡寫圖片描述

總結

兩種方法都可以判斷,一般建議使用assertEquals 容易除錯