JUnit入门

来源:慕课网 JUnit 的笔记
1、JUnit是XUnit的一部分:
这里写图片描述
2、通常它们的目录,和文件名的关系设置如下图,在src下建立名为“test”的source folder,包名与源码中的一样,类名在后加“Test”,测试方法名在被测试方法名前加“test”:
这里写图片描述
3、测试实例1:
这里写图片描述
4、测试实例2:

public class JunitProcessTest {
    /**
     * 1.@BeforeCLass修饰的方法为静态的,会在所有方法调用前执行
     * 在内存中值又一份实例,适合加载配置文件
     * 2、@AfterClass修饰的方法通常用来做清理工作
     * 3、@Before和@After会在每个测试方法前后执行
     */
    static int i=0;
    @BeforeClass
    public static void setUpBeforeClass(){
        System.out.println("before class..."+(i++));
    }
    @AfterClass
    public static void tearDownAfterClass(){
        System.out.println("after class..."+" "+(i++));
    }
    @Before
    public void setUp(){
        System.out.println("before..."+" "+(i++));
    }
    @After
    public void tearDown(){
        System.out.println("after..."+" "+(i++));
    }
    @Test
    public void test1() {
        System.out.println("test1"+" "+(i++));
    }
    @Test
    public void test2() {
        System.out.println("test2"+" "+(i++));
    }
}

测试结果:
这里写图片描述
4、测试3:

public class AnotationTest {
    /**
     * @Test 把一个普通方法修饰为测试方法
     * @Test(expected=XX.class)处理异常
     * @Test(timeout=x毫秒)
     * @Ignore使某个测试方法被忽略
     * assertEquals为静态方法,有多个重载方法
     */
    @Test(expected=ArithmeticException.class)
    public void testDivision(){
        assertEquals(3,new Calculate().division(6, 0));
    }
    @Ignore("test")
    @Test(timeout=2000)
    public void testWhile(){
        int i=0;
        while(true){
            System.out.println(i++);
        }
    }
}

5、测试4:

import org.junit.runner.RunWith;
import org.junit.runners.Suite;
/**
 * @RunWith(Suite.class)不使用默认的运行器,使用org.junit.runners运行器
 * 这样SuiteTest就变成了测试套件的入口类
 */
@RunWith(Suite.class)
@Suite.SuiteClasses({TaskTest1.class,TaskTest2.class,TaskTest3.class})
public class SuiteTest {//需保证为空类,且public
}

测试结果:
这里写图片描述

6、测试5:

import static org.junit.Assert.assertEquals;
import java.util.Arrays;
import java.util.Collection;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;
@RunWith(Parameterized.class)//更改运行器
public class ParameterTest {
     int expected=0;
     int input1=0;
     int input2=0;
    @Parameters
    public static Collection<Object[]> t(){
        return Arrays.asList(new Object[][]{
                {4,2,2},
                {6,1,5},
                {6,1,2}
        });
    }

    public ParameterTest(int expected,int input1,int input2) {
        this.expected=expected;
        this.input1=input1;
        this.input2=input2;
    }
    @Test
    public void testAdd(){
        assertEquals(expected,new Calculate().add(input1, input2));
    }
}

结果:
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值