testng基础知识:注解的执行顺序
1. 单类,无继承父子关系
- code:
public class basicTest {
@BeforeSuite(alwaysRun = true)
public void beforeSuite_basicTest() throws InterruptedException {
System.out.println("beforeSuite_basicTest");
Thread.sleep(1000);
}
@AfterSuite(alwaysRun = true)
public void afterSuite_basicTest() throws InterruptedException {
System.out.println("afterSuite_basicTest");
Thread.sleep(1000);
}
@BeforeClass(alwaysRun = true)
public void beforeClass_basicTest() throws InterruptedException {
System.out.println("beforeClass_basicTest");
Thread.sleep(1000);
}
@AfterClass(alwaysRun = true)
public void afterClass_basicTest() throws InterruptedException {
System.out.println("afterClass_basicTest");
Thread.sleep(1000);
}
@BeforeTest(alwaysRun = true)
public void beforeTest_basicTest() throws InterruptedException {
System.out.println("beforeTest_basicTest");
Thread.sleep(1000);
}
@AfterTest(alwaysRun = true)
public void afterTest_basicTest() throws InterruptedException {
System.out.println("afterTest_basicTest");
Thread.sleep(1000);
}
@BeforeMethod(alwaysRun = true)
public void beforeMethod_basicTest() throws InterruptedException {
System.out.println("beforeMethod_basicTest");
Thread.sleep(1000);
}
@AfterMethod(alwaysRun = true)
public void afterMethod_basicTest() throws InterruptedException {
System.out.println("afterMethod_basicTest");
Thread.sleep(1000);
}
@Test
public void test_basicTest1() throws InterruptedException {
System.out.println("test_basicTest1");
Thread.sleep(1000);
}
@Test
public void test_basicTest2() throws InterruptedException {
System.out.println("test_basicTest2");
Thread.sleep(1000);
}
}
- 执行结果:
beforeSuite_basicTest
beforeTest_basicTest
beforeClass_basicTest
beforeMethod_basicTest
test_basicTest1
afterMethod_basicTest
beforeMethod_basicTest
test_basicTest2
afterMethod_basicTest
afterClass_basicTest
afterTest_basicTest
afterSuite_basicTest
2. 2个类,存在继承关系,注解函数不存在同名。
- code:
public class bizTest extends basicTest{
@BeforeClass(alwaysRun = true)
public void beforeClass_bizTest() throws InterruptedException {
System.out.println("beforeClass_bizTest");
Thread.sleep(1000);
}
@AfterClass(alwaysRun = true)
public void afterClass_bizTest() throws InterruptedException {
System.out.println("afterClass_bizTest");
Thread.sleep(1000);
}
@BeforeTest(alwaysRun = true)
public void beforeTest_bizTest() throws InterruptedException {
System.out.println("beforeTest_bizTest");
Thread.sleep(1000);
}
@AfterTest(alwaysRun = true)
public void afterTest_bizTest() throws InterruptedException {
System.out.println("afterTest_bizTest");
Thread.sleep(1000);
}
@Test
public void test_bizTest1() throws InterruptedException {
System.out.println("test_bizTest1");
Thread.sleep(1000);
}
@Test
public void test_bizTest2() throws InterruptedException {
System.out.println("test_bizTest2");
Thread.sleep(1000);
}
}
- 执行结果:
注意:此处因执行内容较多,手动进行分行,方面了解执行顺序。
beforeSuite_basicTest
beforeSuite_bizTest beforeTest_basicTest
beforeTest_bizTest beforeClass_basicTest
beforeClass_bizTest beforeMethod_basicTest
beforeMethod_bizTest test_bizTest1 afterMethod_bizTest
afterMethod_basicTest beforeMethod_basicTest
beforeMethod_bizTest test_bizTest2 afterMethod_bizTest
afterMethod_basicTest afterClass_bizTest
afterClass_basicTest afterTest_bizTest
afterTest_basicTest afterSuite_bizTest
afterSuite_basicTest
3. 总结
注解执行顺序:suite, test, class, method
父/子类执行顺序:先执行父类,再执行子类。
testng基础知识:注解的执行顺序的更多相关文章
- 14、testng.xml 设置用例执行顺序
目录如下: TestGroup.java 代码如下: package com.testng.cn; import org.testng.annotations.*; import static org ...
- Linq基础知识之延迟执行
Linq中的绝大多数查询运算符都有延迟执行的特性,查询并不是在查询创建的时候执行,而是在遍历的时候执行,也就是在enumerator的MoveNext()方法被调用的时候执行,大说数Linq查询操作实 ...
- TestNG学习-002-annotaton 注解概述及其执行顺序
此文主要讲述用 TestNG 基础的 annotation (注解)知识,及其执行的顺序,并通过一个 TestNG 简单的实例演示 annotation 的执行顺序. 希望能对初学 TestNG 测试 ...
- C#基础知识之父子类,实例、静态成员变量,构造函数的执行顺序(经典示例)
父子类.示例.静态成员变量.构造函数的概念的基础理解完全可以利用下面的示例诠释,非常经典,直接上代码: public class ShowInfo { public ShowInfo(string i ...
- C++ 顺序容器基础知识总结
0.前言 本文简单地总结了STL的顺序容器的知识点.文中并不涉及具体的实现技巧,对于细节的东西也没有提及.一来不同的标准库有着不同的实现,二来关于具体实现<STL源码剖析>已经展示得全面细 ...
- 夯实Java基础系列7:一文读懂Java 代码块和执行顺序
目录 Java中的构造方法 构造方法简介 构造方法实例 例 1 例 2 Java中的几种构造方法详解 普通构造方法 默认构造方法 重载构造方法 java子类构造方法调用父类构造方法 Java中的代码块 ...
- Java基础系列5:Java代码的执行顺序
该系列博文会告诉你如何从入门到进阶,一步步地学习Java基础知识,并上手进行实战,接着了解每个Java知识点背后的实现原理,更完整地了解整个Java技术体系,形成自己的知识框架. 一.构造方法 构造方 ...
- 使用TestNG框架测试用例执行顺序问题
既然是讨论执行顺序问题,那么用例肯定是批量执行的,批量执行的方法有mvn test.直接运行testng.xml文件,其中直接运行testng.xml文件的效果与pom文件中配置执行testng.xm ...
- 夯实Java基础系列7:Java 代码块和执行顺序
本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下 ...
随机推荐
- 页面加载异常 清除浏览器静态文件 js css 缓存 js动态加载js css文件,可以配置文件后辍,防止浏览器缓存
js清除浏览器缓存的几种方法 - 兔老霸夏 - 博客园 https://www.cnblogs.com/Mr-Rocker/p/6031096.html js清除浏览器缓存的几种方法 一.CSS和 ...
- 前端开发 - HTML - 总结
html head标签 title 显示网站的标题 meta 提供有关页面的原信息 link 链接css资源文件.网站图标 style 定义内部样式表 script 链接脚本js文件 body标签 块 ...
- Python的一些教程(转)
原文:http://blog.chinaunix.net/uid-26200547-id-3418038.html Python 安装配置及基本语法篇 Python 语言速成 Python 基本知识 ...
- etcd: request cluster ID mismatch错误解决【只适用于新建etcd集群或无数据集群】
1.报错信息 Mar 29 05:45:31 xxx etcd: request cluster ID mismatch (got 414f8613693e2e2 want cdf818194e3a8 ...
- Linux kill和kill-9区别
进程状态转换图 kill和kill -9,两个命令在linux中都有杀死进程的效果,然而两命令的执行过程却大有不同,在程序中如果用错了,可能会造成莫名其妙的现象. 执行kill命令,系统会发送一个SI ...
- Yii2 教程 - yii2-redis 扩展详解
该教程已被合并到<Yii2 权威指南中文版>中!Yiichina 教程地址为<yii2-redis 扩展详解>! 一.简介 yii2-redis 扩展为 Yii2 框架提供了 ...
- usr/bin/ld: cannot find 错误解决方法和 /etc/ld.so.conf
我makefile出现这个错误: HelloWorldServer.c:(.text+0xaa): undefined reference to `zmq_send'collect2: error: ...
- Part01、sqlalchemy 使用
一.ORM 连表 一对多 1.创建表,主动指定外键约束. 2.操作. ...
- beego——日志处理
这是一个用来处理日志的库,它的设计思路来自于 database/sql,目前支持的引擎有 file.console.net.smtp,可以通过如下方式进行安装: go get github.com/a ...
- XDU 1164 男神的树(树+lazy数组)
#include<cstdio> #include<cmath> #include<cstring> #include<vector> #define ...