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基础知识:注解的执行顺序的更多相关文章

  1. 14、testng.xml 设置用例执行顺序

    目录如下: TestGroup.java 代码如下: package com.testng.cn; import org.testng.annotations.*; import static org ...

  2. Linq基础知识之延迟执行

    Linq中的绝大多数查询运算符都有延迟执行的特性,查询并不是在查询创建的时候执行,而是在遍历的时候执行,也就是在enumerator的MoveNext()方法被调用的时候执行,大说数Linq查询操作实 ...

  3. TestNG学习-002-annotaton 注解概述及其执行顺序

    此文主要讲述用 TestNG 基础的 annotation (注解)知识,及其执行的顺序,并通过一个 TestNG 简单的实例演示 annotation 的执行顺序. 希望能对初学 TestNG 测试 ...

  4. C#基础知识之父子类,实例、静态成员变量,构造函数的执行顺序(经典示例)

    父子类.示例.静态成员变量.构造函数的概念的基础理解完全可以利用下面的示例诠释,非常经典,直接上代码: public class ShowInfo { public ShowInfo(string i ...

  5. C++ 顺序容器基础知识总结

    0.前言 本文简单地总结了STL的顺序容器的知识点.文中并不涉及具体的实现技巧,对于细节的东西也没有提及.一来不同的标准库有着不同的实现,二来关于具体实现<STL源码剖析>已经展示得全面细 ...

  6. 夯实Java基础系列7:一文读懂Java 代码块和执行顺序

    目录 Java中的构造方法 构造方法简介 构造方法实例 例 1 例 2 Java中的几种构造方法详解 普通构造方法 默认构造方法 重载构造方法 java子类构造方法调用父类构造方法 Java中的代码块 ...

  7. Java基础系列5:Java代码的执行顺序

    该系列博文会告诉你如何从入门到进阶,一步步地学习Java基础知识,并上手进行实战,接着了解每个Java知识点背后的实现原理,更完整地了解整个Java技术体系,形成自己的知识框架. 一.构造方法 构造方 ...

  8. 使用TestNG框架测试用例执行顺序问题

    既然是讨论执行顺序问题,那么用例肯定是批量执行的,批量执行的方法有mvn test.直接运行testng.xml文件,其中直接运行testng.xml文件的效果与pom文件中配置执行testng.xm ...

  9. 夯实Java基础系列7:Java 代码块和执行顺序

    本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下 ...

随机推荐

  1. C语言实现双链表(带头节点)

    双链表和单链表性质相似只是在多加了一个前指针 1.定义结构体 typedef struct Node{ int data; struct Node *prior; struct Node *next; ...

  2. java通过ping 判断网络是否正常

    import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.i ...

  3. 【Python算法】哈希存储、哈希表、散列表原理

    哈希表的定义: 哈希存储的基本思想是以关键字Key为自变量,通过一定的函数关系(散列函数或哈希函数),计算出对应的函数值(哈希地址),以这个值作为数据元素的地址,并将数据元素存入到相应地址的存储单元中 ...

  4. Yii框架2.0的 验证码

    最近看了一个Yii的教程视频,是按1.1的版本讲的,我想用Yii2.0的框架也参考他的学习开发下,结果发现好多不一样的,现在就说说验证码的事 首先加入一个actions 做验证码图片的显示,实际事调用 ...

  5. 介绍importlib

    Python将importlib作为标准库提供.它旨在提供Pythonimport语法和(__import__()函数)的实现.另外,importlib提供了开发者可以创建自己的对象(即importe ...

  6. Purpose of ContextLoaderListener in Spring

    The ApplicationContext is where your Spring beans live. The purpose of the ContextLoaderListener is ...

  7. MySQL中的表级锁

    数据的锁主要用来保证数据的一致性,数据库的锁从锁定的粒度上可以分为表级锁,行级锁和页级锁. MySQL的锁机制比较简单,其最显著的特点是不同的存储引擎支持不同的锁机制,比如MyISAM和MEMORY存 ...

  8. NodeJS开发环境搭建

    原创作者: zero20121222 NodeJS开发环境搭建 1.安装NodeJS 1.编译环境 源代码编译器,通常 Unix/Linux平台都自带了C++的编译器(GCC/G++).如果没有,请通 ...

  9. jquery Chosen使用

    1,首先去http://harvesthq.github.io/chosen/下载插件. 2,在网页中加入下面的文件. <link rel="stylesheet" href ...

  10. Spark2.0机器学习系列之11: 聚类(幂迭代聚类, power iteration clustering, PIC)

    在Spark2.0版本中(不是基于RDD API的MLlib),共有四种聚类方法:             (1)K-means             (2)Latent Dirichlet all ...