一、添加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)); } }