一、添加Junit插件。
1.file-->setting-->plugins-->搜索Junit-->安装插件(一般已默认安装,无需手动安装)。
二、设置Junit测试参数:
1.新建一个文件夹test用于放置测试类
2.右键该文件夹选择Mark directory as-->Test Resources Root
三、开始测试
1.选择要测试的类按快捷键Ctrl+shift+t创建新的测试类
2.在弹出窗口勾选要测试的方法点击确定。
3.在测试类中完成测试方法右键运行完成测试。
四、技巧
在测试类中调用assertEquals()方法检验结果。该方法有两个参数,第一个是期望输出的值,第二个是实际调用输出的值。可以进行比较,若相同则测试供过。
五、使用
1@Before注解的方法会在每一个测试方法开始之前调用。@After注解的方法会在每一个测试方法结束后调用。@BeforeAll(Junit4中是@BeforeClass)注解的类方法在类加载时调用一次。@AfterAll(Junit4中是@AfterClass)注解的类方法在所有测试方法完成后调用
2.@Test(timeout=100,expected = ArithmeticException.class),第一个参数代表方法执行的时间限制,超时即报错。第二个参数表示某异常是预料之中的事,即使出现也算测试通过。@Ignore注解表示忽略当前方法,测试其他方法。
3.@RunWith注解在类上,可以更改默认的测试运行器,参数是具体的测试运行器类的.class.
@RunWith(Suite.class)测试套件:可以批量测试多个测试类。将测试类的class对象传入作为参数,要求被套件注解的类内容为空。如图所示:
4.如何同时测试一个方法的多组数据?看下面的代码
package he; import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters; import java.util.Arrays;
import java.util.Collection; import static org.junit.Assert.*; @RunWith(Parameterized.class)//1.先更换测试运行器
public class ATest extends he.A { //2.定义参数用来存储测试方法的参数和期望值
int expe=0;
int input1=0;
int input2=0; //该方法用于生成批量参数
@Parameters
public static Collection<Object[]> canshu(){
return Arrays.asList(new Object[][]{
{3,1,2},{5,2,3}});
} //构造器用于将生成的批量参数赋值到类成员变量中
public ATest(int expe,int input1,int input2){
this.expe=expe;
this.input1=input1;
this.input2=input2;
} //测试方法开始测试
@Test
public void add() {
assertEquals(expe,add(input1,input2));
}
}