Profile:
JUnit is a simple framework to write repeatable tests. It is an instance of the xUnit architecture for unit testing frameworks.
由于使用的eclipse版本自带了JUnit所以不用下载即可使用,如果要下载可在官网junit.org下载jar包。
下面是一个简单的计算器程序:
先编写计算器接口ICalculator.java用于描述功能:
1 package Calculate; 2 3 public interface ICalculator { 4 5 public double add(double arg1, double arg2); 6 7 public double subtract(double arg1, double arg2); 8 9 public double division(double arg1, double arg2); 10 11 public double multiply(double arg1, double arg2); 12 13 }
在编写接口实现类Calculator.java:
1 package Calculate; 2 3 public class Calculator implements ICalculator { 4 5 @Override 6 public double add(double arg1, double arg2) { 7 8 return arg1 + arg2; 9 } 10 11 @Override 12 public double subtract(double arg1, double arg2) { 13 14 return arg1 - arg2; 15 } 16 17 @Override 18 public double division(double arg1, double arg2) { 19 20 return arg1/arg2; 21 } 22 23 @Override 24 public double multiply(double arg1, double arg2) { 25 26 return arg1*arg2; 27 } 28 29 }
点击项目右键新建junit test case创建测试类CalculateTest.java,选择对应的包和要测试的类:
1 package Calculate; 2 3 import static org.junit.Assert.*; 4 5 import org.junit.Before; 6 import org.junit.Test; 7 8 public class CalculateTest { 9 10 private ICalculator _calculator = new Calculator(); 11 12 @Before 13 public void setUp() throws Exception { 14 } 15 16 @Test 17 public void testAdd() { 18 assertEquals(5, _calculator.add(2, 3), 0); 19 assertEquals(5, _calculator.add(3, 2), 0); 20 assertEquals(2, _calculator.add(2, 0), 0); 21 assertEquals(2, _calculator.add(0, 2), 0); 22 assertEquals(0, _calculator.add(0, 0), 0); 23 assertNotEquals(0, _calculator.add(0, 2)); 24 } 25 26 @Test 27 public void testSubtract() { 28 assertEquals(5, _calculator.subtract(10, 5), 0); 29 assertEquals(5, _calculator.subtract(5, 0), 0); 30 assertEquals(-5, _calculator.subtract(0, 5), 0); 31 assertEquals(0, _calculator.subtract(0, 0), 0); 32 } 33 34 @Test 35 public void testDivision() { 36 assertEquals(0, _calculator.division(5, 0), 0); 37 assertEquals(0, _calculator.division(0, 5), 0); 38 assertEquals(2.5, _calculator.division(5, 2), 0); 39 assertEquals(5, _calculator.division(10, 2), 0); 40 } 41 42 @Test 43 public void testMultiply() { 44 assertEquals(0, _calculator.multiply(2, 0), 0); 45 assertEquals(4, _calculator.multiply(2, 2), 0); 46 assertEquals(0, _calculator.multiply(0, 0), 0); 47 assertNotEquals(2, _calculator.multiply(2, 0)); 48 assertNotEquals(0, _calculator.multiply(5.0, 0)); 49 } 50 51 }
写完测试用例后,右键CalculateTest.java 点击Run as->JUnit Test即可,下面是结果截图:
从测试结果可以看到,add, subtract, multipy是通过测试的,division没通过。
代码github地址:https://github.com/GreenLim/JUnitTest