注解@Before、@After、@Test、@BeforeClass、@AfterClass"/>
Junit 实例精讲基础教程(一) 认识Junit基本注解@Before、@After、@Test、@BeforeClass、@AfterClass
Junit官网:/
关于Junit,官文甚至不做过多解释:Junit只是一个用于单元测试的小框架,是基于xUnit架构的一个实现。
更多精彩请阅读 东陆之滇的csdn博客:
系列教程基于Maven。
1. 引入Junit依赖
<dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>test</scope></dependency>
</dependencies>
贴士:Junit捆绑了一个hamcrest-core
的类库,查看依赖树可以看到:
dependency:tree ... [INFO] \- junit:junit:jar:4.12:test [INFO] \- org.hamcrest:hamcrest-core:jar如果你要使用hamcrest-core的其他版本,可以过滤掉hamcrest-core:
<dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>test</scope><exclusions><exclusion><groupId>org.hamcrest</groupId><artifactId>hamcrest-core</artifactId></exclusion></exclusions></dependency><!-- This will get hamcrest-core automatically <dependency><groupId>org.hamcrest</groupId><artifactId>hamcrest-library</artifactId><version>1.3</version><scope>test</scope></dependency> --><!-- .hamcrest/hamcrest-library --><dependency><groupId>org.hamcrest</groupId><artifactId>hamcrest-library</artifactId><version>1.4-atlassian-1</version></dependency></dependencies>
2. Junit中的基本注解
Junit中集中基本注解,是必须掌握的。
- @BeforeClass – 表示在类中的任意public static void方法执行之前执行
- @AfterClass – 表示在类中的任意public static void方法执行之后执行
- @Before – 表示在任意使用@Test注解标注的public void方法执行之前执行
- @After – 表示在任意使用@Test注解标注的public void方法执行之后执行
- @Test – 使用该注解标注的public void方法会表示为一个测试方法
使用示例:
BasicAnnotationTest.java:
package org.byron4j.spring_mvc_log4j;import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;public class BasicAnnotationTest {// Run once, e.g. Database connection, connection pool@BeforeClasspublic static void runOnceBeforeClass() {System.out.println("@BeforeClass - runOnceBeforeClass");}// Run once, e.g close connection, cleanup@AfterClasspublic static void runOnceAfterClass() {System.out.println("@AfterClass - runOnceAfterClass");}// Should rename to @BeforeTestMethod// e.g. Creating an similar object and share for all @Test@Beforepublic void runBeforeTestMethod() {System.out.println("@Before - runBeforeTestMethod");}// Should rename to @AfterTestMethod@Afterpublic void runAfterTestMethod() {System.out.println("@After - runAfterTestMethod");}@Testpublic void test_method_1() {System.out.println("@Test - test_method_1");}@Testpublic void test_method_2() {System.out.println("@Test - test_method_2");}
}
输出:
@BeforeClass - runOnceBeforeClass
@Before - runBeforeTestMethod
@Test - test_method_1
@After - runAfterTestMethod
@Before - runBeforeTestMethod
@Test - test_method_2
@After - runAfterTestMethod
@AfterClass - runOnceAfterClass
更多推荐
Junit 实例精讲基础教程(一) 认识Junit基本注解@Before、@After、@Test、@BeforeClass、@AfterClass
发布评论