一,前言
首先理解:
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,测试用例不是证明你是对的,而是证明你没有错。