一,前言
首先理解:
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”;
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));
} @Test
public void testDivide() {
assertEquals(4, new Calculate().divide(12, 0));
} }
三,总结
1,Failure一般是由单元测试使用的断言方法判断失败所引起的,这表示测试点发现了问题,就是说程序输出结果和预期结果不一致;
2,Error是由代码异常引起的,它可以产生于代码本身的错误,也可能是被测试代码中隐藏的bug
3,测试用例不是证明你是对的,而是证明你没有错。