JUnit是一个回归测试框架,是程序员测试——白盒测试,继承TestCase类就可以用JUnit进行测试了
import junit.framework.TestCase; public class Test extends TestCase{ public void testAdd(){ assertEquals(1, 1); } }
1、编写的测试类必须继承junit.framework.TestCase
2、里面的测试方法命名应该以test开头,必须是public void 而且不能有参数,否则不能使用junit
3、尽量一个testXXX方法对一个功能单一的方法进行测试
4、使用assertEquals等junit.framework.TestCase中的断言方法来判断测试结果正确与否
JUnit提供了一对方法,一个在运行测试方法前初始化一些必备的条件,而另外一个就是测试完毕后去掉初始化的条件
setUp()---->testXXX()---->tearDown()
import hb.util.SampleCalculator; import junit.framework.TestCase; public class TestSample extends TestCase { public SampleCalculator calculator = null; public void testAdd(){ int result = calculator.add(50, 20); System.out.println(result); assertEquals(70, result); } public void testSubtration(){ int abc = calculator.subtration(50, 20); System.out.println(abc); assertEquals(30, abc); } //每次测试一次的时候先执行setUp()这个方法 @Override public void setUp(){ calculator = new SampleCalculator(); System.out.println("set up!"); } //每次测试一次完成之后执行tearDown()这个方法 @Override public void tearDown(){ System.out.println("tearDown"); } }
Error和Failures的区别?
Errors:表示程序本身的错误(程序有逻辑问题)
import junit.framework.TestCase; public class ErrorTest extends TestCase{ public void testError(){ assertEquals(3, 3); int result = 8 / 0; } }
Failures:表示测试失败(结果与期望的值不一致)
import junit.framework.TestCase; public class TestFailure extends TestCase{ public void testFailure(){ assertEquals(5, 3); } }
因此,我们在写测试程序的时候要先保证Errors是没有错误的,然后再来看Failures有没有错误