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. maven引用本地jar包

    教程:http://www.cnblogs.com/dcba1112/archive/2011/05/01/2033805.html 安装 到下载maven: http://maven.apache. ...

  2. easyui tree操作

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...

  3. inode file 结构

    inode位图(inode Bitmap) 和块位图类似,本身占一个块,其中每个bit表示一个inode是否空闲可用. inode表(inode Table) 我们知道,一个文件除了数据需要存储之外, ...

  4. 统计学习方法笔记 -- KNN

    K近邻法(K-nearest neighbor,k-NN),这里只讨论基于knn的分类问题,1968年由Cover和Hart提出,属于判别模型 K近邻法不具有显式的学习过程,算法比较简单,每次分类都是 ...

  5. org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter cannot be cast to javax.servlet.Filter

    org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter cannot be cast to javax.servle ...

  6. intelij IDEA在启动tomcat时控制台日志乱码

    1.在idea安装目录的bin下修改idea.exe.vmoptions和idea64.exe.vmoptions,添加 -Dfile.encoding=UTF-8 -Dconsole.encodin ...

  7. 使用Custom Draw优雅的实现ListCtrl的重绘

    common control 4.7版本介绍了一个新的特性叫做Custom Draw,这个名字显得模糊不清,让人有点摸不着头脑,而且MSDN里也只给出了一些如风的解释和例子,没有谁告诉你你想知道的,和 ...

  8. Flask之flask-session

    简介 flask-session是flask框架的session组件,由于原来flask内置session使用签名cookie保存,该组件则将支持session保存到多个地方,如: redis:保存数 ...

  9. sql server常用性能计数器

    https://blog.csdn.net/kk185800961/article/details/52462913?utm_source=blogxgwz5 https://blog.csdn.ne ...

  10. Spring第八发—自动装配及让Spring自动扫描和管理Bean

    依赖注入–自动装配依赖对象(了解即可) 对于自动装配,大家了解一下就可以了,实在不推荐大家使用.例子: byName:按名称装配,可以根据属性的名称,在容器中寻找跟该属性名相同的bean,如果没有找到 ...