- @Test : 测试方法,测试程序会运行的方法,后边可以跟参数代表不同的测试,如(expected=XXException.class) 异常测试,(timeout=xxx)超时测试
- @Ignore : 被忽略的测试方法
- @Before: 每一个测试方法之前运行
- @After : 每一个测试方法之后运行
- @BeforeClass: 所有测试开始之前运行
- @AfterClass: 所有测试结束之后运行
- fail方法是指测试失败
下面自己动手写一个junit测试类:
被测试的源码:
package com.junit.test; /** * 被测试的类 * @author lfc * */ public class forTest { public int add(int a,int b){ return a+b; } public int minus(int a,int b){ return a-b; } public int multi(int a,int b){ return a*b; } public int divide(int a,int b){ int c=0; if(b!=0){ c=a*b; }else{ System.out.println("被除数不能为零"); } return c; } }
测试的junit方法类:
package com.junit.test; import static org.junit.Assert.*; import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Test; /** * junit4测试类 * @author lfc * */ public class forTestTest { //实例话被测试的对象,便于后面调用 forTest test=new forTest(); @BeforeClass public static void setUpBeforeClass() throws Exception { System.out.println("程序开始运行!"); } @AfterClass public static void tearDownAfterClass() throws Exception { System.out.println("程序运行结束!"); } @Test public void testAdd() { int result=test.add(10, 19); assertEquals(29, result); } @Test public void testMinus() { int result=test.minus(10, 5); assertEquals(5, result); } @Test public void testMulti() { int result=test.multi(10, 19); assertEquals(190, result); } @Test public void testDivide() { int result=test.divide(10, 0); assertEquals(0, result); } }
测试的结果: