Junit的作用是什么?
软件产品的开发周期越来越短,我们必须要及时响应快速的变化,如果继续采用瀑布模型(先开发后测试的模式),后期的测试将力不从心,也很难满足快速变化的开发需求。实践测试驱动开发(TDD)方式是一个不错的选择。以下是测试的总结:
其中,Junit负责的是单元测试阶段。单元测试是指对最小可测单元进行检查和验证,而Junit就是这样的一个单元测试框架,它允许你重复地执行单元测试,时刻保证你的代码方法可用,试想一下,如果有这样的保障,你可以对自己的代码拥有更强的信心,而且你也可以放心地重构,响应快速更迭的需求。除了验证应用程序的正常运行,单元测试还可以:
- 带来比功能测试更广泛的测试覆盖
- 提高团队工作效率
- 监测衰退,降低对调试的需要
- 能为我们带来重构的信心,以及一般情况下做出改变的信心;
- 改进实现
- 将期望的行为文档化
- 启用代码覆盖率以及其它指标
当然,你也可以自己编写相应的测试,下面通过一个示例来感受Junit的作用。
下面是用于测试的Calculator类
public class Calculator {
public double add(double number1, double number2) {
return number1 + number2;
}
}
如果你不用测试框架,你对add方法进行单元测试,你可能会这么做:
public class CalculatorTest {
public static void main(String[] args) {
Calculator cal = new Calculator();
double result = cal.add(10, 50);
if (result - 60 > 0.001) {
System.out.println("Bad Result:" + result);
}
}
}
如果你使用Junit测试框架,会是这样的:
public class CalculatorTest {
@Test
public void testAdd() {
Calculator cal = new Calculator();
Assert.assertEquals(60, cal.add(10, 50), 0.001);
}
}
Junit的单元测试你需要满足以下条件:
- @Test注解
- public void的方法
- 输入参数为空
通过上面的示例,Junit至少具备以下几个优点: