一,前言
首先理解:
1,測試用例不是證明你是對的,而是證明你沒有錯
2,測試用例用來達到想要的預期結果,但對於邏輯錯誤無能為力
二,兩種測試失敗:error And Failure
1,Failure
此種情況是沒有達到預期的結果,預期和結構不匹配
package com.duo.util; import static org.junit.Assert.*; import org.junit.Test; public class ErrorAndFailureTest { @Test public void testAdd() { assertEquals(5, new Calculate().add(4, 2)); } }
2,error
此種方法是邏輯錯誤,標紅的除數為“0”;
1 package com.duo.util; 2 3 import static org.junit.Assert.*; 4 5 import org.junit.Test; 6 7 public class ErrorAndFailureTest { 8 9 @Test 10 public void testAdd() { 11 assertEquals(5, new Calculate().add(4, 2)); 12 } 13 14 15 @Test 16 public void testDivide() { 17 assertEquals(4, new Calculate().divide(12, 0)); 18 } 19 20 }
三,總結
1,Failure一般是由單元測試使用的斷言方法判斷失敗所引起的,這表示測試點發現了問題,就是說程序輸出結果和預期結果不一致;
2,Error是由代碼異常引起的,它可以產生於代碼本身的錯誤,也可能是被測試代碼中隱藏的bug
3,測試用例不是證明你是對的,而是證明你沒有錯。