当前位置: 首页 > news >正文

文化建设网站wordpress站点地址没更改

文化建设网站,wordpress站点地址没更改,中国工程建设监理协会网站,网站网页的优化方法目录 TestNG注释列表 BeforeXXX和AfterXXX注释放在超类上时如何工作? 使用BeforeXXX和AfterXXX TestNG注释 TestNG是一个测试框架,旨在简化广泛的测试需求,从单元测试(隔离测试一个类)到集成测试(测试由…

目录

TestNG注释列表

@BeforeXXX和@AfterXXX注释放在超类上时如何工作?

使用@BeforeXXX和@AfterXXX TestNG注释


TestNG是一个测试框架,旨在简化广泛的测试需求,从单元测试(隔离测试一个类)到集成测试(测试由几个类、几个包甚至几个外部框架组成的整个系统,如应用程序服务器)。

在TestNG中,NG代表下一代测试

TestNG为我们提供了许多注释,允许在某个点之前和之后执行一些Java逻辑以及更多。
那么,什么是注解呢?注释是元数据的一种形式,它提供有关程序的数据,而这些数据不是程序本身的一部分。注释对它们所注释的代码的操作没有直接影响。

TestNG注释列表
注释名称它有什么用?
@BeforeSuite带注释的方法将在此套件中的所有测试运行之前运行
@AfterSuite带注释的方法将在此套件中的所有测试运行之后运行。
@BeforeTest带注释的方法将在任何属于标记中的类的测试方法运行之前运行<test>。
@测试后带注释的方法将在所有属于标记中的类的测试方法运行之后运行<test>。
@BeforeGroups此配置方法将在其之前运行的组的列表。此方法保证在调用属于任何这些组的第一个测试方法之前不久运行。
@AfterGroups此配置方法将在其之后运行的组的列表。此方法保证在调用属于这些组中任何一个的最后一个测试方法后不久运行。
@BeforeClass带注释的方法将在调用当前类中的第一个测试方法之前运行。
@AfterClass带注释的方法将在当前类中的所有测试方法运行之后运行。
@BeforeMethod注释方法将在每个测试方法之前运行。
@AfterMethod注释方法将在每个测试方法之后运行。
@DataProvider将方法标记为提供测试方法的数据。带注释的方法必须返回一个Object[][],其中每个Object[]可以被分配测试方法的参数列表。想要从这个DataProvider接收数据的@Test方法需要使用一个与这个annotation的名称相等的dataProvider名称。
@Factory将方法标记为工厂,该工厂返回将由TestNG用作Test类的对象。方法必须返回Object[]。
@Listeners定义测试类上的侦听器。
@Parameters描述如何将参数传递给@Test方法。
@TestMarks a class or a method as part of the test.
@BeforeXXX和@AfterXXX注释放在超类上时如何工作?

如果将这些注释放在超类上,则子类也将继承这些注释。这对于将多个测试类的测试设置集中在一个公共超类中非常有用。在这种情况下,TestNG保证@Before方法按照继承顺序执行(首先是最高的超类,然后沿着继承链向下),而@After方法则按照相反的顺序执行(沿着继承链向上)。

现在,我们将创建两个类,其中CodekruTest将是CodekruTestSubclass的超类,并具有以下结构

superClass and subclass

CodekruTest.java

 

package Test;import org.testng.Assert;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;public class CodekruTest {@BeforeClasspublic void beforeSuperClassMethod() {System.out.println("In before method of Superclass");Assert.assertTrue(true);}@AfterClasspublic void AfterSuperClassMethod() {System.out.println("In after method of Superclass");Assert.assertTrue(true);}}

CodekruTestSubclass.java

package Test;import org.testng.Assert;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;public class CodekruTestSubclass extends CodekruTest {@BeforeClasspublic void beforeSubClassMethod() {System.out.println("In before method of Subclass");Assert.assertTrue(true);}@AfterClasspublic void AfterSubClassMethod() {System.out.println("In after method of Subclass");Assert.assertTrue(true);}@Testpublic void test() {System.out.println("Executing the test");Assert.assertTrue(true);}}

现在,我们将只运行CodekruTestSubclass,看看会发生什么。下面是用于此的testng.xml

<suite name="codekru"><test name="codekru"><classes><class name="Test.CodekruTestSubclass" /></classes></test>
</suite>

输出-

In before method of Superclass
In before method of Subclass
Executing the test
In after method of Subclass
In after method of Superclass===============================================
codekru
Total tests run: 1, Failures: 0, Skips: 0
===============================================

 

因此,我们可以看到超类的before方法首先运行,after方法随后运行。

使用@BeforeXXX和@AfterXXX TestNG注释

层级是-

  1. @BeforeSuite
  2. @BeforeTest
  3. @BeforeClass
  4. @BeforeMethod
  5. @测试
  6. @AfterMethod
  7. @AfterClass
  8. @AfterTest
  9. @AfterSuite

下面是一个小例子,以演示上述层级-

package Test;import org.testng.Assert;
import org.testng.annotations.AfterClass;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.AfterSuite;
import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.BeforeSuite;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;public class CodekruTest {@BeforeSuitepublic void beforeSuiteMethod() {System.out.println("before Suite");Assert.assertTrue(true);}@BeforeTestpublic void beforeTestMethod() {System.out.println("before Test");Assert.assertTrue(true);}@BeforeClasspublic void beforeClassMethod() {System.out.println("before Class");Assert.assertTrue(true);}@BeforeMethodpublic void beforeMethod() {System.out.println("before Method");Assert.assertTrue(true);}@AfterSuitepublic void afterSuiteMethod() {System.out.println("after Suite");Assert.assertTrue(true);}@AfterTestpublic void afterTestMethod() {System.out.println("after Test");Assert.assertTrue(true);}@AfterClasspublic void afterClassMethod() {System.out.println("after Class");Assert.assertTrue(true);}@AfterMethodpublic void afterMethod() {System.out.println("after Method");Assert.assertTrue(true);}@Test()public void test() {System.out.println("Executing the test");Assert.assertTrue(true);}}

现在,我们将在testng.xml文件下面运行,看看会发生什么以及输出的打印顺序

<suite name="codekru"><test name="codekru"><classes><class name="Test.CodekruTest" /></classes></test>
</suite>

输出-

before Suite
before Test
before Class
before Method
Executing the test
after Method
after Class
after Test
after Suite===============================================
codekru
Total tests run: 1, Failures: 0, Skips: 0
http://www.yayakq.cn/news/864155/

相关文章:

  • 即墨网站开发专门做美剧的网站
  • 商城网站模板库高端网站建设域名注册
  • windows7PHP网站建设今天长沙做
  • 网站没更新免费wordpress托管
  • 建站 报价莱特币做空国外网站
  • 绍兴网站制作海口网站制作企业
  • 重庆网站开发小顶网建行网站网址
  • 建网站的公司服务广州网站排名优化公司
  • wordpress设置网站关键字建设一个网站平台的费用吗
  • 做58网站空调维修接单怎么样做网站好一点的公司
  • 上犹网站建设浪子做的阿哲喊麦网站多少
  • 茂名营销型网站制作公司搜索引擎外部链接优化
  • 网站10月份可以做哪些有意思的专题合肥网站建设公司 千鸟
  • 大同网站建设企业高端网站有哪些优势
  • 设计素材网站能挣钱吗怎样修改网站英文域名
  • 服装手机商城网站建设杭州企业宣传画册制作公司
  • 沟通交流类网站有哪些泰州学习网站建设
  • 网站建设柒金手指花总15社交网站建设教程
  • excel网站建设哪个购物平台正品
  • 网站建设 税种网站开发可行性技术方案
  • dz网站模版网站 手机版 电脑版 怎么做
  • 广州好的做网站公司民宿设计公司
  • 潍坊市作风建设年网站乐陵网站开发
  • 企业网站翻译微信开发平台公司
  • 企业网站 php 下载5万左右的新能源汽车推荐
  • 网站建设考试知识点有哪些网站建设企业
  • 网站建设基础代码网站重新备案 需要关闭网站么
  • 新郑市住房建设局网站鄂尔多斯网站网站建设
  • 企业网站建设工作流程你好多莉 wordpress
  • 云南省建设工程质量监督管理站网站建设一个网站的方法