GOEASY

导航

 

https://github.com/heartgo/test

 

源代码:

public class qiuhe
{
public int sum() {

int a=1,sum=0;
while(a<=100){sum=sum+a;
a=a+1;}
System.out.println("1~100的和是"+sum);
return sum;
}

public static void main(String args[])
{
new qiuhe().sum();
}
}

运行结果:

 

测试步骤:

 

具体做法:Build Path -> Config Build Path ... -> Add Libraries ... 选中JUnit Next-> 选择JUnit 4 Finished 

创建测试用例  

 new -> Java Test Case  Name:CalcFunctionTest Next-> 选择要测试的方法 ->finished

自动生成一个测试类CalcFunctionTest,里面包含一些空的测试用例,@Test 注解的。只需要将这些测试用例稍作修改即可使用。

 

测试代码:

import static org.junit.Assert.*;

import org.junit.Test;


public class qiuheTest {
qiuhe qiuhe = new qiuhe();

@Test
public void testSum() {
assertEquals(5050, qiuhe.sum());
}

}

测试结果如图:

 

 

 

 

 

 

总结:

  经过对JUnit 的了解,简单对之前写的计算器代码做个测试,收获颇丰:知道了用Junit进行单元测试很方便,尤其是Junit4引入了很多Annotation注解以后。

 

Junit优点:

 

junit是在极限编程和重构(refactor)中被极力推荐使用的工具,因为在实现自动单元测试的情况下可以大大的提高开发的效率,但是实际上编写测试代码也是需要耗费很多的时间和精力的,那么使用这个东东好处到底在哪里呢?笔者认为是这样的:
极限编程
要求在编写代码之前先写测试,这样可以强制你在写代码之前好好的思考代码(方法)的功能和逻辑,否则编写的代码很不稳定,那么你需要同时维护测试代码和实际代码,这个工作量就会大大增加。因此在极限编程中,基本过程是这样的:构思-> 编写测试代码-> 编写代码-> 测试,而且编写测试和编写代码都是增量式的,写一点测一点,在编写以后的代码中如果发现问题可以较快的追踪到问题的原因,减小回归错误的纠错难度。
重构
其好处和极限编程中是类似的,因为重构也是要求改一点测一点,减少回归错误造成的时间消耗。
其他情况
我们在开发的时候使用junit写一些适当的测试也是有必要的,因为一般我们也是需要编写测试的代码的,可能原来不是使用的junit,如果使用junit,而且针对接口(方法)编写测试代码会减少以后的维护工作,例如以后对方法内部的修改(这个就是相当于重构的工作了)。另外就是因为junit有断言功能,如果测试结果不通过会告诉我们哪个测试不通过,为什么,而如果是像以前的一般做法是写一些测试代码看其输出结果,然后再由自己来判断结果是否正确,使用junit的好处就是这个结果是否正确的判断是它来完成的,我们只需要看看它告诉我们结果是否正确就可以了,在一般情况下会大大提高效率。

 

posted on 2015-05-07 21:56  GOEASY  阅读(217)  评论(5编辑  收藏  举报