Junit学习之路二--搭建环境
来源:互联网 发布:怎样把nginx部署到公网 编辑:程序博客网 时间:2024/05/01 08:16
- 我们在编写大型程序的时候,需要写成千上万个方法或函数,这些函数的功能可能很强大,但我们在程序中只用到该函数的一小部分功能,并且经过调试可以确定,这一小部分功能是正确的。
- 但是,我们同时应该确保每一个函数都完全正确,因为如果我们今后如果对程序进行扩展,用到了某个函数的其他功能,而这个功能有bug的话,那绝对是一件非常郁闷的事情。
- 所以说,每编写完一个函数之后,都应该对这个函数的方方面面进行测试,这样的测试我们称之为单元测试。传统的编程方式,进行单元测试是一件很麻烦的事情,你要重新写另外一个程序,在该程序中调用你需要测试的方法,并且仔细观察运行结果,看看是否有错。
正因为如此麻烦,所以程序员们编写单元测试的热情不是很高。于是有一个牛人推出了单元测试包,大大简化了进行单元测试所要做的工作,这就是JUnit4。本文简要介绍一下在Eclipse3.2中使用JUnit4进行单元测试的方法。
- 写好被测试的类,如下:
package andycpp;public class Calculator ...{private static int result;// 静态变量,用于存储运行结果public void add(int n) ...{ result = result + n; }public void substract(int n) ...{ result = result - 1; //Bug: 正确的应该是 result =result-n }public void multiply(int n) ...{ } // 此方法尚未写好public void divide(int n) ...{ result = result / n; }public void square(int n) ...{ result = n * n; }public void squareRoot(int n) ...{ for (; ;) ; //Bug : 死循环 }public void clear() ...{ // 将结果清零 result = 0; }public int getResult() ...{ return result; }}
- 如果使用maven,在基于spring的项目中添加如下依赖:
<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.9</version> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version> 3.2.4.RELEASE </version> <scope>provided</scope> </dependency>
- 创建一个测试类
package andycpp;import static org.junit.Assert.*;import org.junit.Before;import org.junit.Ignore;import org.junit.Test;public class CalculatorTest ...{ private static Calculator calculator = new Calculator(); @Before public void setUp() throws Exception ...{ calculator.clear(); } @Test public void testAdd() ...{ calculator.add(2); calculator.add(3); assertEquals(5, calculator.getResult()); } @Test public void testSubstract() ...{ calculator.add(10); calculator.substract(2); assertEquals(8, calculator.getResult()); } @Ignore("Multiply() Not yet implemented") @Test public void testMultiply() ...{ } @Test public void testDivide() ...{ calculator.add(8); calculator.divide(2); assertEquals(4, calculator.getResult()); }}
- 运行测试代码:按照上述代码修改完毕后,我们在CalculatorTest类上点右键,选择“Run As a JUnit Test”来运行我们的测试
运行结果如下:
进度条是红颜色表示发现错误,具体的测试结果在进度条上面有表示“共进行了4个测试,其中1个测试被忽略,一个测试失败”。
至此,我们已经完整体验了在Eclipse中使用JUnit的方法。在接下来的文章中,我会详细解释测试代码中的每一个细节!
0 0
- Junit学习之路二--搭建环境
- opencv学习之路【二】——环境搭建
- Hadoop学习之二《Hadoop环境伪分布式环境搭建》
- Docker学习文档之二 搭建环境-Windows环境
- Docker学习文档之二 搭建环境-Linux环境
- 搭建JUnit测试环境
- Windows Phone开发学习之二——环境搭建
- 学习javacv之二:javacv0.8开发环境的搭建
- Flex 学习笔记之二 :flex 开发环境搭建
- hadoop学习之二:mac下hadoop+eclipse环境搭建
- SpringMVC学习之环境搭建踩坑总结(二)
- Docker下kafka学习,三部曲之二:本地环境搭建
- Docker下的Kafka学习之二:搭建集群环境
- Docker下的Kafka学习之二:搭建集群环境
- Spark学习之(二)Spark 集群环境搭建(standalone)
- 大数据学习系列之二 ----- HBase环境搭建(单机)
- junit 学习(1)--Eclipse下的环境搭建
- junit 学习(1)--Eclipse下的环境搭建
- linux 目录结构
- UVA - 1368 DNA Consensus String
- UVA - 1587 Box
- Stree 解题报告
- UVA - 10340 All in All
- Junit学习之路二--搭建环境
- UVA - 232 Crossword Answers
- 拓扑序列的实现
- STM32上移植FreeRTOS
- UVA - 401 Palindromes
- UVA - 10010 Where's Waldorf?
- Android性能优化之ViewStub
- UVA - 1586 Molar mass?
- UVA - 1588 Kickdown