@Test
方法为只能为 public void 不能私有,不能有返回值,不能为静态方法。
用于测试运行某一方法,加上 static 后方法无法执行,而且 不能有返回值,否则直接报错
java.lang.Exception: Method xxxxxxx() should be void
私有时会报错
java.lang.Exception: Method xxxxxxx() should be public
@Before
方法为只能为 public void 不能私有,不能有返回值,不能为静态方法。
在标有注解 @Test 的方法前执行。
@After
方法为只能为 public void 不能私有,不能有返回值,不能为静态方法。
在标有注解 @Test 的方法后执行。
@BeforeClass
在类中的任意 public static void 方法之前执行,且 必须是 静态方法
不是 static 修饰时报错
java.lang.Exception: Method xxxxxxxx() should be static
不是 public 修饰时报错
java.lang.Exception: Method xxxxxxxx() should be public
同样不能有返回值 否则直接报错
java.lang.Exception: Method xxxxxxx() should be void
方法只能为 public static void
@AfterClass
与 beforeClass 一致。只能是 public static void,不能私有,不能有返回值 必须为静态方法。
在类中的任意public static void方法执行之后执行
案例
最外层即为刚创建的文件 内部只有这几个方法 直接执行@Test 的方法
@Test
public void redisClientTest(){
System.out.println("test-----start----");
System.out.println("test redisClientTest");
System.out.println("test-----end-----");
}@Before
public void junitBeforeAnnotation(){
System.out.println("before");
System.out.println();
}@After
public void junitAfterAnnotation(){
System.out.println("after");
System.out.println();
}@BeforeClass
public static void junitBeforeClassAnnotation(){
System.out.println("beforeClass");
System.out.println();
}@AfterClass
public static void junitAfterClassAnnotation(){
System.out.println("afterClass");
System.out.println();
}
输出结果
beforeClassbeforetest-----start----
test redisClientTest
test-----end-----
afterafterClass
添加一个静态方法且无返回, @Test 中修改如下 其他不变运行
@Test
public void redisClientTest(){
staticMethod();
System.out.println("test-----start----");
System.out.println("test redisClientTest");
System.out.println("test-----end-----");
}public static void staticMethod(){
System.out.println("staticMethod");
}
输出结果
beforeClassbeforestaticMethod
test-----start----
test redisClientTest
test-----end-----
afterafterClass
结论
执行顺序如下
【Java|Java Junit注解 @Test @Before @After @BeforeClass @AfterClass 学习以及实践总结】@BeforeClass
@Before
@Test
@After
@AfterClass
推荐阅读
- #|HashSet源码学习
- java|Java基于Socket实现简单QQ聊天详细教程
- rabbitmq从入门到精通|RabbitMQ入门 -- 阿里云服务器安装RabbitMQ
- JUC并发编程|JUC并发编程—— volatile 关键字详解
- java|Java中volatile关键字详解
- java学习|JUC并发编程汇总彻底搞懂JUC
- Quartz学习笔记(一) 初遇篇
- HTTP Client 学习笔记 (一) 初遇篇
- LeetCode|【刷题1】LeetCode 34. 在排序数组中查找元素的第一个和最后一个位置 java题解