Junit单元测试before,after, beforeClass,afterClass区别

单元测试
是指对软件中的最小可测试单元进行检查和验证。

Junit单元测试
Junit是一个基于Java语言的单元测试框架。是白盒测试的一种技术。

Assert: 断言,给定预知的结果,判断程序运行结果是否符合。
@Before: 方法之前运行一次
@After: 方法之后运行一次
@BeforeClass: 测试类所有方法之前运行一次
@AfterClass: 测试类所有方法之后运行一次

测试类:

package jdbc.test;

import org.junit.*;

public class OperationTest {
    private static Operation oper;
/*    @Before
    public void methodBefore(){
        oper = new Operation();
        System.out.println("测试方法之前");
    }
    @After
    public void methodAfter(){
        oper = new Operation();
        System.out.println("测试方法之后");
    }*/
    @BeforeClass
    public static void BeforeClass(){
        oper = new Operation();
        System.out.println("测试类所有方法之前运行一次");
    }
    @AfterClass
    public static void AfterClass(){
        oper = new Operation();
        System.out.println("测试类所有方法之后运行一次");
    }

    @Test
    public void TestAdd(){
        oper = new Operation();
        int result = oper.add(30, 10);
        System.out.println(result);
        //断言
        Assert.assertEquals(40,result);
    }
    @Test
    public void TestSub(){
        oper = new Operation();
        int result = oper.sub(30, 10);
        System.out.println(result);
    }
}

方法类:

package jdbc.test;

public class Operation {

    public int add(int a,int b){
        int c=a+b;
        return c;
    }
    public int sub(int a,int b){
        int c=a-b;
        return c;
    }
}

注意:

​ ①测试方法上必须使用@Test进行修饰

​ ②测试方法必须使用public void 进行修饰,不能带任何的参数

​ ③新建一个源代码目录来存放我们的测试代码,即将测试代码和项目业务代码分开

​ ④测试类所在的包名应该和被测试类所在的包名保持一致

​ ⑤测试单元中的每个方法必须可以独立测试,测试方法间不能有任何的依赖

​ ⑥测试类使用Test作为类名的后缀(不是必须)

​ ⑦测试方法使用test作为方法名的前缀(不是必须)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章