junit4

1、导包,导入到ClassPath中,不能导入到ModelPath中。

2、    @Test:测试方法    expected属性:抛出异常  timeout属性:设置超时

    @BeforeClass:所有方法运行前执行,static修饰

    @AfterClass:所有方法运行结束后执行,static修饰

    @Before:在每一个测试方法运行前执行

    @After:在每一个测试方法运行结束后执行

    @Ignore:忽略测试方法

    @RunWith:更改测试运行器

3、测试套件:组织测试类一起运行

  1)、测试套件类:空类

  2)、@RunWith(Suite.class)

     @Suite.SuiteClass({测试类1,测试类2...})

import org.junit.runner.RunWith;
import org.junit.runners.Suite;

@RunWith(Suite.class)
@Suite.SuiteClasses({DemoTest.class,DemoTest2.class})
public class SuiteTest {

}

 4、参数化设置:对多组数据同时进行测试

  1)、更改测试运行器为:@RunWith(Parameterized.class)

  2)、声明变量来存放预期值和结果值

  3)、声明一个返回值为Collection的公共静态方法,并使用@Paramaters修饰

  4)、为测试类声明一个带有参数的公共构造函数,并在其中为之声明变量赋值

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[][] {
            {3,1,2},
            {4,2,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 Demo().add(input1, input2));
    }
}

 

  

posted @ 2020-04-07 16:48  woldcn  阅读(121)  评论(0编辑  收藏  举报