最近实习需要用到Junit,记录一下。
单元测试的作用:
实际项目开发中,往往有很多的单元或者说子模块,要保证项目整体正确运行,首先保证各个单元正确运行,在开发中,通常会出现有的模块在编写、升级或修改过程中会出现一些问题,这时候就可以通过Junit来测试各个模块是否正确运行。 maven规范化了单元测试,专门有一个源码文件夹,用于存放测试类和测试用的配置文件,如下:这样做的好处:在最终打包时,不会将测试类包含进包里。
1. 引入Junit 方式1:右键项目-->bulid path-->configure build path-->Libraries-->Add Library-->选择Junit即可。如下图所示
方式2:如下图:
注意:需指定依赖范围scope,如果不加会将Junit也打包到war包里
2.上代码 被测试类: ```java package junit.util; /** *被测试类 ,通过Junit对此类的方法进行单元测试 */ public class Calculate { public int add(int a, int b) { return a + b; }public int subtract(int a, int b) {
return a - b;
}
public int multiply(int a, int b) {
return a * b;
}
public int divide(int a, int b) {
return a / b;
}
}
测试类:
```java
package junit.util;
import static org.junit.Assert.assertEquals;
import org.junit.Test;
import junit.util.Calculate;
/**
* junit的测试方法必须使用@Test注解
* 测试方法必须以public void修饰,并且不包含参数
*/
public class TestCalculate {
@Test
public void testAdd() {
/**
* assertEquals这个方法是一个断言方法
* 第一个参数表示预期的结果
* 第二个参数表示程序的执行结果
* 当预期结果与执行结果是一致的时候,则表示单元测试成功
*/
assertEquals(4, new Calculate().add(1, 3));
}
@Test
public void testSubtract() {
assertEquals(4, new Calculate().subtract(9, 5));
}
@Test
public void testMultiply() {
assertEquals(6, new Calculate().multiply(2, 3));
}
@Test(expected=ArithmeticException.class)
public void testDivide() {
assertEquals(3, new Calculate().divide(9, 0));
}
}
3.运行:Run as -->Junit Test