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

专业建站外包个人博客网站

专业建站外包,个人博客网站,公司网站选择什么空间,建站基础目录 TestNG注释列表 BeforeXXX和AfterXXX注释放在超类上时如何工作#xff1f; 使用BeforeXXX和AfterXXX TestNG注释 TestNG是一个测试框架#xff0c;旨在简化广泛的测试需求#xff0c;从单元测试#xff08;隔离测试一个类#xff09;到集成测试#xff08;测试由…目录 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的超类并具有以下结构 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 namecodekrutest namecodekruclassesclass nameTest.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注释 层级是- BeforeSuiteBeforeTestBeforeClassBeforeMethod测试AfterMethodAfterClassAfterTestAfterSuite 下面是一个小例子以演示上述层级- 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 namecodekrutest namecodekruclassesclass nameTest.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.hkea.cn/news/14414301/

相关文章:

  • 河南省建设教育中心的网站中山做网站排名
  • 有没有教做衣服的网站达内网站建设
  • 开网站挣不挣钱wordpress 免费模版
  • 手机网站建设服务三维免费空间
  • php综合网站源码珠海网站建设价格
  • 江苏省建设工程注册中心网站电商推广技巧
  • 网站建设的指标小程序嵌套wordpress
  • 网站的360快照怎么做建筑工程网上商城投标
  • 有哪些网站是可以接单做任务的山东省优质校建设网站
  • 郑州网站优化推广如何攻破wordpress
  • 网站建设策划书ppt食品企业网站模板
  • 网站代码需要注意什么东西网上怎么卖东西流程
  • 公司网站域名和空间基于mysql的网站用什么做
  • win8风格 网站模板.net 企业网站源码
  • 网站开发api平台铜山徐州网站开发
  • 做饲料机械的网站带有flash的网站
  • 整站seo优化公司有wordpress模板安装教程
  • 衡水做wap网站server 2008 网站部署
  • 嘉兴专业定制网站制作企业在线网页代理搭建
  • 企业网络营销站点的功能有哪些如何设计大气的网站
  • apicloud开发教程电脑优化工具
  • 罗庄建设局网站没有经验
  • 网站建设网上售票系统优设网址导航属于网络导航吗
  • 湖北省工程建设协会网站手机网络营销方案
  • js 取网站域名没有收款接口网站怎么做收款
  • 设计一个电子商务网站wordpress主题怎么删除边栏
  • dw做电影网站wordpress使用腾讯cos
  • 不记得在哪里做的网站备案大丰做网站哪家公司好
  • 卖汽车配件怎么做网站广州珠吉网站建设
  • 乐达网站建设万网官网域名