<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # Junit 斷言&斷言與示例 > 原文: [https://www.guru99.com/junit-assert.html](https://www.guru99.com/junit-assert.html) ## 什么是 Junit Assert? 斷言是一種用于確定測試用例的通過或失敗狀態的方法。assert 方法由類 org.junit.Assert 提供,該類擴展了 java.lang.Object 類。 有各種類型的斷言,例如布爾,空,相同等。 Junit 提供了一個名為 Assert 的類,該類提供了一些斷言方法,這些方法可用于編寫測試用例和檢測測試失敗 斷言方法由類 **org.junit.Assert** 提供,該類擴展了 **java.lang.Object** 類。 在本教程中,您將學習- * [JUnit 聲明方法](#1) * [布爾值](#2) * [空對象](#3) * [相同](#4) * [等于](#5) * [聲明數組等于](#6) * [失敗消息](#7) * [JUnit assertEquals](#8) * [浮點斷言](#9) * [JUnit 斷言示例](#10) ## JUnit 聲明方法 ### 布爾值 如果要測試布爾條件(對或錯),則可以使用以下斷言方法 1. **assertTrue(condition)** 2. **assertFalse(condition)** 這里的條件是一個布爾值。 ### 空對象 如果要檢查對象/變量的初始值,則可以使用以下方法: 1. **assertNull(object)** 2. **assertNotNull(object)** 這里的對象是 [Java](/java-tutorial.html) 對象**,例如** assertNull(actualN); ### 相同 如果要檢查對象是否相同(即,將兩個引用與同一個 Java 對象進行比較)還是不同。 1. **assertSame(預期的,實際的),**如果預期的 **==實際的**,它將返回 true 2. **assertNotSame(預期的,實際的)** ### 等于 如果要測試兩個對象的相等性,則可以使用以下方法 * **assertEquals(預期的,實際的)** 如果滿足以下條件,它將返回 true: **Expected.equals(actual)**返回 true。 ### 聲明數組等于 如果要測試數組的相等性,則可以使用以下方法,如下所示: * **assertArrayEquals(預期的,實際的)** 如果數組具有相同的長度,則必須使用上述方法,對于 **i** 的每個有效值,您可以按如下所示進行檢查: * **assertEquals(expected [i],actual [i])** * **assertArrayEquals(expected [i],actual [i])** ### 失敗消息 如果要拋出任何斷言錯誤,則可以使用 **fail()**,它總是會導致失敗判定。 * **失敗(消息);** 您可以使用帶有附加**字符串**參數作為第一個參數的斷言方法。 如果斷言失敗,此字符串將附加在失敗消息中。 例如。 **fail(message)**可以寫為 * **assertEquals(消息,預期的,實際的)** ## JUnit assertEquals 您有 **assertEquals(a,b)**,它依賴于 Object 類的 **equals()**方法。 * 在這里,它將被評估為 **a.equals(b)。** * 在這里,被測類用于確定合適的相等關系。 * 如果一個類未覆蓋**對象**類的 **equals()**方法,則將獲得 **equals()**方法的默認行為。 ,即對象身份。 如果 **a** 和 **b** 是原語,例如**字節**, **int** ,**布爾值**等,則以下內容將 為 assertEquals(a,b)完成: **a** 和 **b** 將轉換為它們的等效包裝對象類型(**字節,整數**,**布爾值**等),然后[ 將評估 **a.equals(b)**。 例如:考慮下面提到的具有相同值的字符串,讓我們使用 assertTrue 對其進行測試 ``` String obj1="Junit"; String obj2="Junit"; assertEquals(obj1,obj2); ``` 上面的 assert 語句將返回 true,因為 obj1.equals(obj2)返回 true。 ## 浮點聲明 當您想比較浮點類型(例如 **double** 或 **float** )時,您需要一個附加的必需參數 **delta** ,以避免在執行時出現舍入錯誤的問題 浮點比較。 斷言評估如下: * **Math.abs(預期–實際)< =增量** 例如: **assertEquals(aDoubleValue,anotherDoubleValue,0.001)** ## JUnit 聲明示例 下面的示例演示如何使用 JUnit 斷言方法斷言條件。 讓我們創建一個名為 **Junit4AssertionTest.java** 的簡單測試類,以及一個測試運行器類 **TestRunner.java** 的測試類。 您將在 JUnit 中創建一些變量和重要的 assert 語句。 在此示例中,您將使用 TestRunner.java 執行我們的測試類。 **步驟 1)**讓我們創建一個涵蓋 junit 中所有重要的 assert 語句方法的類: **Junit4AssertionTest.java** ``` package guru99.junit; import static org.junit.Assert.*; import org.junit.Test; public class Junit4AssertionTest { @Test public void testAssert(){ //Variable declaration String string1="Junit"; String string2="Junit"; String string3="test"; String string4="test"; String string5=null; int variable1=1; int variable2=2; int[] airethematicArrary1 = { 1, 2, 3 }; int[] airethematicArrary2 = { 1, 2, 3 }; //Assert statements assertEquals(string1,string2); assertSame(string3, string4); assertNotSame(string1, string3); assertNotNull(string1); assertNull(string5); assertTrue(variable1<variable2); assertArrayEquals(airethematicArrary1, airethematicArrary2); } } ``` **步驟 2)**您需要創建一個測試運行器類才能執行上述類: **TestRunner.java** ``` package guru99.junit; import org.junit.runner.JUnitCore; import org.junit.runner.Result; import org.junit.runner.notification.Failure; public class TestRunner { public static void main(String[] args) { Result result = JUnitCore.runClasses(Junit4AssertionTest.class); for (Failure failure : result.getFailures()) { System.out.println(failure.toString()); } System.out.println("Result=="+result.wasSuccessful()); } } ``` **步驟 3)**讓我們逐步分析預期的輸出: 一一考慮所有斷言語句: 1. **assertEquals(string1,string2);** 現在,使用對象類的 equals 方法比較 string1 =“ Junit”與 string2 =“ Junit”。 從 java.lang.Object.equals()方法替換 assertEquals 方法: string1.equals(string2)= >返回 true 因此 assertEquals(string1,string2)將返回 **true** 。 2. **assertSame(string3,string4);** “ assertSame()”功能是檢查兩個對象是否引用相同的對象。 由于 string3 =“ test”和 string4 =“ test”表示 string3 和 string4 屬于同一類型,因此 assertSame(string3,string4)將返回 **true** 。 3. **assertNotSame(string1,string3);** “ assertNotSame()”功能是檢查兩個對象沒有引用相同的對象。 由于 string1 =“ Junit”和 string3 =“ test”表示 string1 和 string3 屬于不同類型,因此 assertNotSame(string1,string3)將返回 **true** 。 4. **assertNotNull(string1);** “ assertNotNull()”功能是檢查對象是否不為空。 由于 string1 =“ Junit”是一個非 null 值,因此 assertNotNull(string1)將返回 **true** 。 5. **assertNull(string5);** “ assertNull()”功能是檢查對象是否為空。 由于 string5 = null(它是空值),因此 assertNull(string5)將返回 **true** 。 6. **assertTrue(variable1 < variable2);** “ assertTrue()”功能用于檢查條件是否為真。 由于 variable1 = 1 和 variable2 = 2,這表明 variable1 < variable2 條件為 true,因此 assertTrue(variable1 < variable2)將返回 **true** 。 7. **assertArrayEquals(airethematicArrary1,airethematicArrary2);** “ assertArrayEquals()”功能是檢查期望的數組和結果的數組是否相等。 Array 的類型可以是 int,long,short,char,byte 或 java.lang.Object。 由于 airethematicArrary1 = {1,2,3}和 airethematicArrary2 = {1,2,3}(這兩個數組都相等),因此 assertArrayEquals(airethematicArrary1,airethematicArrary2)將返回 **true** 由于 **Junit4AssertionTest.java** 類的所有七個斷言語句都返回 true,因此,當您執行測試斷言類時,它將返回成功的測試。 (請參見下面的輸出) **步驟 4)**右鍵單擊 Junit4AssertionTest.java,然后單擊 runAs- > JUnit。 您將看到如下輸出: ![Junit Assert](https://img.kancloud.cn/fe/28/fe2835a21176253d822541e1a089cce8_337x156.png "Junit Assert") 上面的輸出顯示了預期的成功測試結果。 **摘要:** 在本教程中,您學習了 JUnit 提供的所有重要的斷言方法類型。 此外,您還看到了 assert 語句的示例。 這表明如果所有 assert 語句都返回 true,則測試 GUI 將返回 true 結果,如果單個測試失敗,則它將返回失敗結果。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看