一,前言ide
首先理解:單元測試
1,測試用例不是證實你是對的,而是證實你沒有錯測試
2,測試用例用來達到想要的預期結果,但對於邏輯錯誤無能爲力spa
二,兩種測試失敗:error And Failure3d
1,Failurecode
此種狀況是沒有達到預期的結果,預期和結構不匹配blog
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,errorit
此種方法是邏輯錯誤,標紅的除數爲「0」;class
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 }
三,總結test
1,Failure通常是由單元測試使用的斷言方法判斷失敗所引發的,這表示測試點發現了問題,就是說程序輸出結果和預期結果不一致;
2,Error是由代碼異常引發的,它能夠產生於代碼自己的錯誤,也多是被測試代碼中隱藏的bug
3,測試用例不是證實你是對的,而是證實你沒有錯。