步骤一:编写待测试的类
package com.junit;
public class Number {
public int add(int a,int b){
return a+b;
}
public int subtract(int a,int b){
return a-b;
}
public int multy(int a,int b){
return a*b;
}
public int divide(int a,int b){
return a/b;
}
}
步骤二:新建源代码文件夹,新建和待测试类相同的包,以便将测试代码和源代码分离,项目完成后删除测试代码文件夹即可。
步骤三:右击待测试类,new -> other -> Junit Test Case,点击next,更改文件目标路径为刚刚建立的文件夹下,点击next,选择需要测试的方法,最后点击finish
步骤四:给生成的方法填写方法体,本例可以使用assertEquals(期望值,实例化方法)
package com.junit;
import static org.junit.Assert.*;
import org.junit.Test;
public class NumberTest {
@Test
public void testAdd() {
assertEquals(4,new Number().add(2,2));
}
@Test
public void testSubtract() {
assertEquals(2,new Number().subtract(6, 4));
}
@Test
public void testMulty() {
assertEquals(6,new Number().multy(2, 4));
}
@Test
public void testDivide() {
assertEquals(4,new Number().divide(8, 0));
}
}
步骤五:运行,Run as -> Junit Test,观察结果,发现上例中两个方法测试通过,testDivide方法为errors,testMulty方法为failures。errors是由代码异常引起的,它可以产生于测试代码本身的错误,也可以是被测代码本身就有bug;failures一般由断言方法判断失败引起的,即程序的输出结果与我们预期不符。
总的来说:
1、测试方法必须使用@Test进行修饰,由public void进行声明,不带任何参数;
2、新建一个源代码目录(右击src,new -> Source Folder)来存放测试代码,测试类的包应该和被测试类保持一致;
3、测试单元的每个方法必须可以独立测试,测试方法间不能有任何的依赖。