一、实例
目前junit测试为接口中的方法。根据javadoc中的文字说明编写junit测试方法。
接口:
public interface ICalculatorService{ /** *计算器中加法功能的计算 * @return参数a,b的和 */ public double add(double a,double b); } |
实现:
public class CalculatorService implements ICalculatorService{ public double add(double a, double b){ return a+b; } } |
二、步骤
- 第一步:编写一个基类以创建测试环境(可选)。
- 第二步:编写测试类。
- 第三步:在该测试类中编写测试方法。
- 第四步:在测试方法中调用被测方法。
- 第五步:验证预期结果与返回的结果是否一致。
- 第六步:执行测试查看测试结果。
- 用TestSuite来组合测试。
三、各步骤详解
第一步:编写一个基类以创建测试环境(可选)。
此类会调用系统启动时的配置文件,模拟系统启动。也可以获取目标接口实现类的引用和编写测试代码时需要的公用方法。测试类的实现都需要继承此基类。
例如如果计算机服务器有加减乘除等方法,我们可以把接口的引用放入基类中,以方便各测试类调用。
Public class BaseCase{ CalculatorService calculotorService; Public BaseCase(){ calculatorService = new CalculatorService(); } } |
第二步:编写测试类。
- 如果有基类要继承此基类完成测试环境的初始化。
- 通常情况下为接口中的每个方法编写一个测试类。
- 测试类的名字推荐为被测方法名+ Test。
例如,测试计算器中加法功能的测试类为:
public class AddTest extends BaseCase{…}
第三步:在该测试类中编写测试方法。
(可选)编写初始化和清理方法,并标注为:@Before和@After
@Before
public void before() {…}
@After
public void after(){…}
(可选)编写全局化初始化和清理方法,并标注为:@BeforeClass和AfterClass
@BeforeClass
public static void beforeClass() {…}
@AfterClass
public static void afterClass() {…}
编写一个或多个测试方法,标注为@Test。
推荐测试方法名字为test +测试点,如以下方法为测试计算器加法功能中输入为0的情况。
§@Test
public void testZero(){...}