junit学习(三)——junit测试失败的两种情况
程序员文章站
2022-06-23 18:17:42
...
junit测试失败的两种情况:一个是Failure,一个是Error。
先上测试代码:
package com.wjl.junit; import static org.junit.Assert.*; import org.junit.Test; /** * Junit_demo_3 * 实验测试失败两种情况 * **/ public class ErrorAndFailureTest { @Test public void testAdd() { assertEquals(5,new Calculate().add(3, 3)); //预期值为5,计算出来的是6 } @Test public void testDivide() { assertEquals(2,new Calculate().divide(6, 0)); //0不能作为除数 } }
当Junit Test第一个方法testAdd时将会出现第一种情况,即Failure:
这是因为我给定的与其结果为5而实际的计算结果为6,两个结果不一致导致的。也就是当程序输出的结果与我们预期的不一样时就会出现Failure。
另一种情况:当Junit Test 执行第二个方法testDivide时将会出现Error:
这是因为0不能作为除数,而我却让0作为除数且没有进行任何异常的捕获。也就是当代码本身出现错误时会出现Error。
总结:
1、Failures一般由单元测试使用的断言方法判断失败所引起的,这表示测试方法发现了问题,就是说程序输出的结果与我们预期的不一样。
2、Errors是由代码异常引起的,它可以产生于测试代码本身的错误,也可以是被测试代码中的一个隐藏bug
3、测试用例不是用来证明你是对的,而是用来证明你没有错。
最后,感谢老师的分享!