在Eclipse在使用JUnit4单元测试(0基础知识)
2015-06-19 14:17
453 查看
自这篇文章:
http://www.devx.com/Java/Article/31983/0/page/1
我们在编写大型程序的时候,须要写成千上万个方法或函数。这些函数的功能可能非常强大。但我们在程序中仅仅用到该函数的一小部分功能,而且经过调试能够确定,这一小部分功能是正确的。可是,我们同一时候应该确保每个函数都全然正确。由于假设我们今后假设对程序进行扩展。用到了某个函数的其它功能。而这个功能有bug的话。那绝对是一件非常郁闷的事情。所以说,每编写完一个函数之后,都应该对这个函数的方方面面进行測试,这种測试我们称之为单元測试。传统的编程方式。进行单元測试是一件非常麻烦的事情,你要又一次写另外一个程序。在该程序中调用你须要測试的方法。而且细致观察执行结果。看看是否有错。
正由于如此麻烦。所以程序猿们编写单元測试的热情不是非常高。于是有一个牛人推出了单元測试包。大大简化了进行单元測试所要做的工作。这就是JUnit4。
本文简要介绍一下在Eclipse3.2中使用JUnit4进行单元測试的方法。
首先,我们来一个傻瓜式速成教程,不要问为什么,Follow Me,先来体验一下单元測试的快感!
首先新建一个项目叫JUnit_Test。我们编写一个Calculator类。这是一个可以简单实现加减乘除、平方、开方的计算器类,然后对这些功能进行单元測试。这个类并非非常完美。我们有益保留了一些Bug用于演示,这些Bug在凝视中都有说明。该类代码例如以下:
package andycpp;
第二步。将JUnit4单元測试包引入这个项目:在该项目上点右键,点“属性”,如图:
package andycpp;
import static org.junit.Assert.*;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
public class CalculatorTest ...{
![](https://oscdn.geek-share.com/Uploads/Images/Content/201109/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201109/6a9c071a08f1dae2d3e1c512000eef41.gif)
private static Calculator calculator = new Calculator();
![](https://oscdn.geek-share.com/Uploads/Images/Content/201109/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201109/6a9c071a08f1dae2d3e1c512000eef41.gif)
@Before
![](https://oscdn.geek-share.com/Uploads/Images/Content/201104/37c8bf68cdc3cc81759c34160776bc53.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201104/7ff8d92cded7e0ce15e7ca1acc870052.gif)
public void setUp() throws Exception ...{
![](https://oscdn.geek-share.com/Uploads/Images/Content/201109/6a9c071a08f1dae2d3e1c512000eef41.gif)
calculator.clear();
![](https://oscdn.geek-share.com/Uploads/Images/Content/201104/717446ca04a6125dc5b6b54e0fa14ab4.gif)
}
![](https://oscdn.geek-share.com/Uploads/Images/Content/201109/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201109/6a9c071a08f1dae2d3e1c512000eef41.gif)
@Test
![](https://oscdn.geek-share.com/Uploads/Images/Content/201104/37c8bf68cdc3cc81759c34160776bc53.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201104/7ff8d92cded7e0ce15e7ca1acc870052.gif)
public void testAdd() ...{
![](https://oscdn.geek-share.com/Uploads/Images/Content/201109/6a9c071a08f1dae2d3e1c512000eef41.gif)
calculator.add(2);
![](https://oscdn.geek-share.com/Uploads/Images/Content/201109/6a9c071a08f1dae2d3e1c512000eef41.gif)
calculator.add(3);
![](https://oscdn.geek-share.com/Uploads/Images/Content/201109/6a9c071a08f1dae2d3e1c512000eef41.gif)
assertEquals(5, calculator.getResult());
![](https://oscdn.geek-share.com/Uploads/Images/Content/201104/717446ca04a6125dc5b6b54e0fa14ab4.gif)
}
![](https://oscdn.geek-share.com/Uploads/Images/Content/201109/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201109/6a9c071a08f1dae2d3e1c512000eef41.gif)
@Test
![](https://oscdn.geek-share.com/Uploads/Images/Content/201104/37c8bf68cdc3cc81759c34160776bc53.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201104/7ff8d92cded7e0ce15e7ca1acc870052.gif)
public void testSubstract() ...{
![](https://oscdn.geek-share.com/Uploads/Images/Content/201109/6a9c071a08f1dae2d3e1c512000eef41.gif)
calculator.add(10);
![](https://oscdn.geek-share.com/Uploads/Images/Content/201109/6a9c071a08f1dae2d3e1c512000eef41.gif)
calculator.substract(2);
![](https://oscdn.geek-share.com/Uploads/Images/Content/201109/6a9c071a08f1dae2d3e1c512000eef41.gif)
assertEquals(8, calculator.getResult());
![](https://oscdn.geek-share.com/Uploads/Images/Content/201104/717446ca04a6125dc5b6b54e0fa14ab4.gif)
}
![](https://oscdn.geek-share.com/Uploads/Images/Content/201109/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201109/6a9c071a08f1dae2d3e1c512000eef41.gif)
@Ignore("Multiply() Not yet implemented")
![](https://oscdn.geek-share.com/Uploads/Images/Content/201109/6a9c071a08f1dae2d3e1c512000eef41.gif)
@Test
![](https://oscdn.geek-share.com/Uploads/Images/Content/201104/37c8bf68cdc3cc81759c34160776bc53.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201104/7ff8d92cded7e0ce15e7ca1acc870052.gif)
public void testMultiply() ...{
![](https://oscdn.geek-share.com/Uploads/Images/Content/201104/717446ca04a6125dc5b6b54e0fa14ab4.gif)
}
![](https://oscdn.geek-share.com/Uploads/Images/Content/201109/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201109/6a9c071a08f1dae2d3e1c512000eef41.gif)
@Test
![](https://oscdn.geek-share.com/Uploads/Images/Content/201104/37c8bf68cdc3cc81759c34160776bc53.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201104/7ff8d92cded7e0ce15e7ca1acc870052.gif)
public void testDivide() ...{
![](https://oscdn.geek-share.com/Uploads/Images/Content/201109/6a9c071a08f1dae2d3e1c512000eef41.gif)
calculator.add(8);
![](https://oscdn.geek-share.com/Uploads/Images/Content/201109/6a9c071a08f1dae2d3e1c512000eef41.gif)
calculator.divide(2);
![](https://oscdn.geek-share.com/Uploads/Images/Content/201109/6a9c071a08f1dae2d3e1c512000eef41.gif)
assertEquals(4, calculator.getResult());
![](https://oscdn.geek-share.com/Uploads/Images/Content/201104/717446ca04a6125dc5b6b54e0fa14ab4.gif)
}
![](https://oscdn.geek-share.com/Uploads/Images/Content/201109/0196c3df5ea9e936f21e9932cca91014.gif)
}
第四步,执行測试代码:依照上述代码改动完成后,我们在CalculatorTest类上点右键。选择“Run As à JUnit Test”来执行我们的測试。例如以下图所看到的:
![](http://p.blog.csdn.net/images/p_blog_csdn_net/andycpp/241426/o_JUnit6.jpg)
执行结果例如以下:
![](http://p.blog.csdn.net/images/p_blog_csdn_net/andycpp/241426/o_JUnit8.jpg)
进度条是红颜色表示发现错误,详细的測试结果在进度条上面有表示“共进行了4个測试,当中1个測试被忽略。一个測试失败”
至此。我们已经完总体验了在Eclipse中使用JUnit该方法。
在接下来的文章中,,我会解释的测试代码的每一个细节!
http://www.devx.com/Java/Article/31983/0/page/1
我们在编写大型程序的时候,须要写成千上万个方法或函数。这些函数的功能可能非常强大。但我们在程序中仅仅用到该函数的一小部分功能,而且经过调试能够确定,这一小部分功能是正确的。可是,我们同一时候应该确保每个函数都全然正确。由于假设我们今后假设对程序进行扩展。用到了某个函数的其它功能。而这个功能有bug的话。那绝对是一件非常郁闷的事情。所以说,每编写完一个函数之后,都应该对这个函数的方方面面进行測试,这种測试我们称之为单元測试。传统的编程方式。进行单元測试是一件非常麻烦的事情,你要又一次写另外一个程序。在该程序中调用你须要測试的方法。而且细致观察执行结果。看看是否有错。
正由于如此麻烦。所以程序猿们编写单元測试的热情不是非常高。于是有一个牛人推出了单元測试包。大大简化了进行单元測试所要做的工作。这就是JUnit4。
本文简要介绍一下在Eclipse3.2中使用JUnit4进行单元測试的方法。
首先,我们来一个傻瓜式速成教程,不要问为什么,Follow Me,先来体验一下单元測试的快感!
首先新建一个项目叫JUnit_Test。我们编写一个Calculator类。这是一个可以简单实现加减乘除、平方、开方的计算器类,然后对这些功能进行单元測试。这个类并非非常完美。我们有益保留了一些Bug用于演示,这些Bug在凝视中都有说明。该类代码例如以下:
package andycpp;
第二步。将JUnit4单元測试包引入这个项目:在该项目上点右键,点“属性”,如图:
package andycpp;
import static org.junit.Assert.*;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
public class CalculatorTest ...{
![](https://oscdn.geek-share.com/Uploads/Images/Content/201109/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201109/6a9c071a08f1dae2d3e1c512000eef41.gif)
private static Calculator calculator = new Calculator();
![](https://oscdn.geek-share.com/Uploads/Images/Content/201109/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201109/6a9c071a08f1dae2d3e1c512000eef41.gif)
@Before
![](https://oscdn.geek-share.com/Uploads/Images/Content/201104/37c8bf68cdc3cc81759c34160776bc53.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201104/7ff8d92cded7e0ce15e7ca1acc870052.gif)
public void setUp() throws Exception ...{
![](https://oscdn.geek-share.com/Uploads/Images/Content/201109/6a9c071a08f1dae2d3e1c512000eef41.gif)
calculator.clear();
![](https://oscdn.geek-share.com/Uploads/Images/Content/201104/717446ca04a6125dc5b6b54e0fa14ab4.gif)
}
![](https://oscdn.geek-share.com/Uploads/Images/Content/201109/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201109/6a9c071a08f1dae2d3e1c512000eef41.gif)
@Test
![](https://oscdn.geek-share.com/Uploads/Images/Content/201104/37c8bf68cdc3cc81759c34160776bc53.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201104/7ff8d92cded7e0ce15e7ca1acc870052.gif)
public void testAdd() ...{
![](https://oscdn.geek-share.com/Uploads/Images/Content/201109/6a9c071a08f1dae2d3e1c512000eef41.gif)
calculator.add(2);
![](https://oscdn.geek-share.com/Uploads/Images/Content/201109/6a9c071a08f1dae2d3e1c512000eef41.gif)
calculator.add(3);
![](https://oscdn.geek-share.com/Uploads/Images/Content/201109/6a9c071a08f1dae2d3e1c512000eef41.gif)
assertEquals(5, calculator.getResult());
![](https://oscdn.geek-share.com/Uploads/Images/Content/201104/717446ca04a6125dc5b6b54e0fa14ab4.gif)
}
![](https://oscdn.geek-share.com/Uploads/Images/Content/201109/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201109/6a9c071a08f1dae2d3e1c512000eef41.gif)
@Test
![](https://oscdn.geek-share.com/Uploads/Images/Content/201104/37c8bf68cdc3cc81759c34160776bc53.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201104/7ff8d92cded7e0ce15e7ca1acc870052.gif)
public void testSubstract() ...{
![](https://oscdn.geek-share.com/Uploads/Images/Content/201109/6a9c071a08f1dae2d3e1c512000eef41.gif)
calculator.add(10);
![](https://oscdn.geek-share.com/Uploads/Images/Content/201109/6a9c071a08f1dae2d3e1c512000eef41.gif)
calculator.substract(2);
![](https://oscdn.geek-share.com/Uploads/Images/Content/201109/6a9c071a08f1dae2d3e1c512000eef41.gif)
assertEquals(8, calculator.getResult());
![](https://oscdn.geek-share.com/Uploads/Images/Content/201104/717446ca04a6125dc5b6b54e0fa14ab4.gif)
}
![](https://oscdn.geek-share.com/Uploads/Images/Content/201109/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201109/6a9c071a08f1dae2d3e1c512000eef41.gif)
@Ignore("Multiply() Not yet implemented")
![](https://oscdn.geek-share.com/Uploads/Images/Content/201109/6a9c071a08f1dae2d3e1c512000eef41.gif)
@Test
![](https://oscdn.geek-share.com/Uploads/Images/Content/201104/37c8bf68cdc3cc81759c34160776bc53.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201104/7ff8d92cded7e0ce15e7ca1acc870052.gif)
public void testMultiply() ...{
![](https://oscdn.geek-share.com/Uploads/Images/Content/201104/717446ca04a6125dc5b6b54e0fa14ab4.gif)
}
![](https://oscdn.geek-share.com/Uploads/Images/Content/201109/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201109/6a9c071a08f1dae2d3e1c512000eef41.gif)
@Test
![](https://oscdn.geek-share.com/Uploads/Images/Content/201104/37c8bf68cdc3cc81759c34160776bc53.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201104/7ff8d92cded7e0ce15e7ca1acc870052.gif)
public void testDivide() ...{
![](https://oscdn.geek-share.com/Uploads/Images/Content/201109/6a9c071a08f1dae2d3e1c512000eef41.gif)
calculator.add(8);
![](https://oscdn.geek-share.com/Uploads/Images/Content/201109/6a9c071a08f1dae2d3e1c512000eef41.gif)
calculator.divide(2);
![](https://oscdn.geek-share.com/Uploads/Images/Content/201109/6a9c071a08f1dae2d3e1c512000eef41.gif)
assertEquals(4, calculator.getResult());
![](https://oscdn.geek-share.com/Uploads/Images/Content/201104/717446ca04a6125dc5b6b54e0fa14ab4.gif)
}
![](https://oscdn.geek-share.com/Uploads/Images/Content/201109/0196c3df5ea9e936f21e9932cca91014.gif)
}
第四步,执行測试代码:依照上述代码改动完成后,我们在CalculatorTest类上点右键。选择“Run As à JUnit Test”来执行我们的測试。例如以下图所看到的:
![](http://p.blog.csdn.net/images/p_blog_csdn_net/andycpp/241426/o_JUnit6.jpg)
执行结果例如以下:
![](http://p.blog.csdn.net/images/p_blog_csdn_net/andycpp/241426/o_JUnit8.jpg)
进度条是红颜色表示发现错误,详细的測试结果在进度条上面有表示“共进行了4个測试,当中1个測试被忽略。一个測试失败”
至此。我们已经完总体验了在Eclipse中使用JUnit该方法。
在接下来的文章中,,我会解释的测试代码的每一个细节!
相关文章推荐
- java.lang.ClassNotFoundException: javax.persistence.EntityListeners
- Java中System.gc()和Runtime.getRuntime().gc()
- Java-马士兵设计模式学习笔记-观察者模式-OOD 封装event
- 深入Java核心 Java内存分配原理精讲(3)
- 深入Java核心 Java内存分配原理精讲(2)
- 深入Java核心 Java内存分配原理精讲(1)
- java float、double使用注意问题
- 【转】企业级Java应用最重要的4个性能指标
- 深入了解回调函数Java
- maven项目 Java compiler level does not match the version of the installed Java project facet
- 设置Eclipse中的tab键为4个空格的完整方法
- spring MVC 返回json
- java 正则
- Quartz+Spring 实现任务监控
- java笔记17 集合框架 List Set 泛型
- java设计模式大全 Design pattern samples in Java(最经典最全的资料)
- Spring Profile 使用
- 10个利用Eclipse调试Java的常见技巧
- eclipse无法启动的各种解决方法
- 《Java程序设计》第四次作业:《猜猜看》之图像的随机显示与结果保存到文本文件