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 喜欢的话麻烦点下 ...
随机推荐
- 1. Action 实现 ModelDriven 接口后的运行流程
1). 先会执行 ModelDrivenInterceptor 的 intercept 方法. public String intercept(ActionInvocation invocation) ...
- oracle导入sql文件
oracle导入sql文件: 1.进入到sql文件目录下,登录需要导入文件的用户 打开cmd,输入以下命令,进入oracle, sqlplus username/password username:需 ...
- 微信公众号获取用户openId How to use cURL to get jSON data and decode the data?
w http://stackoverflow.com/questions/16700960/how-to-use-curl-to-get-json-data-and-decode-the-data
- GraphicsMagick 1.3.25 Linux安装部署
1.安装相关依赖包 yum install -y gcc libpng libjpeg libpng-devel libjpeg-devel ghostscript libtiff libtiff-d ...
- 转!!mybatis xml 传值 if test判断
当mapper方法传参数 为 String时,且xml中药进行参数比较 比如 是不是等于1 或者等于2 方式1. 方式2. 转自:https://blog.csdn.net/chenaini119/a ...
- 关闭在chrome里使用双指前进后退页面的功能
defaults write com.google.Chrome AppleEnableSwipeNavigateWithScrolls -bool FALSE
- Mysql文章笔记
Mysql名词解释/含义/读书笔记 MVCC(Multiversion concurrency control) MySQL InnoDB存储引擎,实现的是基于多版本号的并发控制协议--MVCC (M ...
- go-007-条件语句
一.概述 条件语句需要开发者通过指定一个或多个条件,并通过测试条件是否为 true 来决定是否执行指定语句,并在条件为 false 的情况在执行另外的语句. 1.if结构 if 布尔表达式 { /* ...
- java 多线程 day15 CyclicBarrier 路障
import java.util.concurrent.CyclicBarrier;import java.util.concurrent.ExecutorService;import java.ut ...
- LNMP环境修改上传文件大小
LNMP环境修改上传文件大小限制 如果网页上传文件大小大于nginx或php设定的值,就会造成无法上传,显示IO error错误. 如何解决这个问题呢?我们需要更改两个配置: 1. ngin ...