Junit单元测试的使用方式

Junit单元测试的使用方式

介绍:

Junit是一个Java语言的单元测试框架,简单理解为可以用于取代java的(部分)main方法。Junit属于第三方工具,需要导入jar包后使用。

作用: 单独的运行某一个方法,在一定程度上取代main方法

Junit4版本:

常用注解:

  • @Test:单元测试,不需要被调用也可以执行该方法。
  • @Before:修饰方法,该方法在每个测试方法执行前执行一次。
  • @After:修饰方法,该方法会在每个测试方法执行后执行一次。
  • @BeforeClass:修饰静态方法,该方法会在所有测试方法之前执行一次,而且只执行一次。
  • @AfterClass:修饰静态方法,该方法会在所有测试方法之后执行一次,而且只执行一次。

注意事项:

  • Junit单元测试只能运行public修饰的,无返回值,无参数的方法。
  • @Test注解不能放在静态方法上
  • @Before,@After,@BeforeClass,@AfterClass修饰的方法不能单独执行,但会自动在@Test修饰的方法前后执行。
  • @Before,@After:会在每一个@Test修饰的方法前后执行。
  • @BeforeClass,@AfterClass:会在@Test修饰的方法前后执行,只执行一次。

@Test使用方式:

@Test特点:单元测试,不需要被调用也可以执行该方法。

public class Junit4Demo {

    @Test
    public void method1(){
        System.out.println("method1方法!");
    }

}

运行方式:点击要运行方法左侧的箭头,选择Run method1() 即可运行当前方法。
在这里插入图片描述
要想运行多个测试方法:点击类哪一行左侧的箭头,选择Run Junit4Demo即可运行所有测试方法。
在这里插入图片描述

@Before @After使用方式:

@Before特点 :修饰方法,该方法在每个测试方法执行前执行一次。
@After特点:修饰方法,该方法会在每个测试方法执行后执行一次。

public class Junit4Demo {

    @Before
    public void methodBefore(){
        System.out.println("我在所有测试方法执行之前执行!");
    }

    @After
    public void methodAfter(){
        System.out.println("我在所有测试方法执行之后执行!");
    }

    @Test
    public void method1(){
        System.out.println("method1方法!");
    }

    @Test
    public void method2(){
        System.out.println("method2方法!");
    }
}

运行结果:@Before注解作用的方法会在每一个测试方法执行前执行一次,而@After会在每一个测试方法执行后执行一次。

在这里插入图片描述

@BeforeClass @AfterClass使用方式:

@BeforeClass特点:修饰静态方法,该方法会在所有测试方法之前执行一次,而且只执行一次。
@AfterClass特点:修饰静态方法,该方法会在所有测试方法之后执行一次,而且只执行一次

public class Junit4Demo {

    @BeforeClass
    public static void methodBeforeClass(){
        System.out.println("methodBeforeClass修饰静态方法,只执行一次,在所有测试方法执行前!");
    }

    @AfterClass
    public static void methodAfterClass(){
        System.out.println("methodAfterClass修饰静态方法,只执行一次,在所有测试方法执行后!");
    }

    @Test
    public void method1(){
        System.out.println("method1方法!");
    }

    @Test
    public void method2(){
        System.out.println("method2方法!");
    }
}

运行结果:@BeforeClass注解作用的方法会在所有测试方法执行前执行一次,只会执行一次; @AfterClass注解作用的方法会在所有测试方法执行后执行一次,只会执行一次。

在这里插入图片描述
使用场景:我们每次查询数据库前都需要加载数据源,创建连接,可以使用@Before注解,当我们每次查询完毕要对资源进行关闭操作,可以使用@After注解。

发布了41 篇原创文章 · 获赞 48 · 访问量 4921

猜你喜欢

转载自blog.csdn.net/weixin_45216092/article/details/105253121