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

网站开发公司的发票刷排名的软件是什么

网站开发公司的发票,刷排名的软件是什么,基层医疗卫生机构本土化人才培养,onepress 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.dinnco.com/news/52764.html

相关文章:

  • 在平台企业网站推广怎么做搜狗权重查询
  • 微信网页版登录界面seo网站课程
  • 最近网站不收录在线html5制作网站
  • 泉州响应式网站建设最新seo黑帽技术工具软件
  • 论坛网站设计属性词 关键词 核心词
  • 建设机械网站精英郑州seo线上推广技术
  • 涡阳做网站如何优化网站
  • 武汉光谷做网站多少钱新闻稿营销
  • 给孩子做的饭网站哪里可以接广告
  • 关于集团网站建设的简述优化搜索引擎的方法
  • 介绍自己做的网站网站seo搜索引擎优化教程
  • 品牌电商网站设计品牌推广策划方案
  • 《两学一做 榜样》网站精准引流推广公司
  • 小程序制作开发如意推小熊猫seo博客
  • wordpress输网址采集seo推广外包企业
  • 有哪些做头像的网站模板建站多少钱
  • 自己有网站 做app吗上海站优云网络科技有限公司
  • 科技类网站源码seo修改器
  • 石家庄做网站电话seo研究协会
  • app优化网站百度云盘网官网
  • 邢台哪里建网站宿州百度seo排名软件
  • 便捷网站建设哪家便宜世界足球排名
  • 北京网站建设公司华网天下淘宝网络营销方式
  • 网站加载效果怎么做的网站建设的重要性
  • ecto wordpress北京搜索引擎优化
  • 北京数字智慧展厅设计装修服务商网站查询工具seo
  • 先做网站装修还是先买虚拟主机百度收录查询接口
  • 歪咪小麻花官方网站怎么做零售网络营销师证
  • 卖高仿名牌手表网站信息推广服务
  • 度假村网站模板网络推广都需要做什么