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

松江做网站公司全网营销式网站

松江做网站公司,全网营销式网站,明薇通网站建设哪家好,网站建设项目流程图目录 什么是BeforeSuite注解? BeforeSuite带注释的方法何时执行? BeforeSuite annotation有什么用? 所以,是时候集思广益了 我们可以在一个类中使用多个BeforeSuite注释方法吗? BeforeSuite放在超类上时如何工作…

目录

什么是@BeforeSuite注解?

@BeforeSuite带注释的方法何时执行?

@BeforeSuite annotation有什么用?

所以,是时候集思广益了

我们可以在一个类中使用多个@BeforeSuite注释方法吗?

@BeforeSuite放在超类上时如何工作?


TestNG是Java生态系统中许多人使用的流行测试框架。它提供了各种注释,帮助规范测试执行。最重要的注释之一是@BeforeSuite注释。

本文将讨论@BeforeSuite注释及其在TestNG中的用法。我们将介绍以下主题:

  • 什么是@BeforeSuite注解?
  • 使用@BeforeSuite注释有什么好处?
  • 然后是一些有趣的问题
什么是@BeforeSuite注解?

@BeforeSuite注释是TestNG中所有@BeforeXXX和@AfterXXX注释中的最高优先级。这意味着任何带有@BeforeSuite注释的方法都将在套件中的任何其他测试之前执行。

@BeforeSuite带注释的方法何时执行?

通过参考testng.xml文件,可以很容易地理解@BeforeXXX和@AfterXXX注释的执行点。

<!-- @BeforeSuite annoated method will execute here  -->
<suite name="codekru"><test name="codekru"><classes><class name="Test.CodekruTestFirst" /><class name="Test.CodekruTestSecond" /></classes></test>
</suite>

因此,@BeforeSuite注释方法将在suite标记之前执行。

我们将采用两个类(CodekruTestOne和CodekruTestSecond),并在CodekruTestSecond类中定义@BeforeSuite注释方法。

CodekruTestFirst.java

package Test;import org.testng.Assert;
import org.testng.annotations.Test;public class CodekruTestFirst {@Testpublic void test() {System.out.println("Executing the test in CodekruTestFirst class");Assert.assertTrue(true);}}

CodekruTestSecond.java

package Test;import org.testng.Assert;
import org.testng.annotations.BeforeSuite;
import org.testng.annotations.Test;public class CodekruTestSecond {@BeforeSuitepublic void beforeSuite() {System.out.println("In beforeSuite method");}@Testpublic void test() {System.out.println("Executing the test in CodekruTestSecond class");Assert.assertTrue(true);}}

我们现在将运行下面的XML来执行这两个类,让我们看看会发生什么。

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

输出-

In beforeSuite method
Executing the test in CodekruTestFirst class
Executing the test in CodekruTestSecond class===============================================
codekru
Total tests run: 2, Failures: 0, Skips: 0

 

@BeforeSuite annotation有什么用?
  • 它允许您为套件中的所有测试执行常见的设置任务,例如初始化数据或设置环境。
  • 它允许您在单个方法中定义常见的设置任务,从而减少了代码重复。
  • 它通过将常见的设置任务与实际的测试代码分开来提高测试代码的可读性。
所以,是时候集思广益了
我们可以在一个类中使用多个@BeforeSuite注释方法吗?

答案是肯定的。我们可以在一个类中使用多个@BeforeSuite注释方法,并且所有方法都将在套件中的测试用例之前运行。我们将在CodekruTestSecond类中保留两个@BeforeSuite注释方法。我们来做个示范。

package Test;import org.testng.Assert;
import org.testng.annotations.BeforeSuite;
import org.testng.annotations.Test;public class CodekruTestSecond {@BeforeSuitepublic void beforeSuite1() {System.out.println("In beforeSuite1 method");}@BeforeSuitepublic void beforeSuite2() {System.out.println("In beforeSuite2 method");}@Testpublic void test() {System.out.println("Executing the test in CodekruTestSecond class");Assert.assertTrue(true);}}

然后运行下面的XML文件

<!-- @BeforeSuite annoated method will execute here  -->
<suite name="codekru">   <test name="codekruTest"><classes><class name="Test.CodekruTestSecond" /></classes></test></suite>

输出-

In beforeSuite1 method
In beforeSuite2 method
Executing the test in CodekruTestSecond class===============================================
codekru
Total tests run: 1, Passes: 1, Failures: 0, Skips: 0
===============================================

 

@BeforeSuite放在超类上时如何工作?

让我们通过一个例子来看看这个问题。

package Test;import org.testng.Assert;
import org.testng.annotations.BeforeSuite;
import org.testng.annotations.Test;class CodekruTest {@BeforeSuitepublic void beforeSuiteMethod() {System.out.println("beforeSuite method called");}}public class CodekruTestSubclass extends CodekruTest {@Test()public void test() {System.out.println("Executing the subclass test");Assert.assertTrue(true);}}

现在,我们将在testng.xml下面运行,看看会发生什么

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

输出-

beforeSuite method called
Executing the subclass test===============================================
codekru
Total tests run: 1, Failures: 0, Skips: 0
===============================================

因此,即使带注释的方法放在超类上,beforeSuiteMethod也会运行,因为子类继承了所有方法。但是,如果我们将beforeSuiteMethod设置为private,它将不会运行,因为private方法不能被子类继承。

http://www.hkea.cn/news/372545/

相关文章:

  • 自己建一个电商网站吗网络营销的定义
  • 专门做金融的招聘网站四川seo选哪家
  • wordpress nginx伪静态配置拼多多seo怎么优化
  • 深圳网站开发电话惠州网络营销
  • 中宁网站建设公司商城全网推广运营公司
  • 网站文章列表如何排版郑州seo技术培训班
  • 小型b2c网站百度开户渠道商哪里找
  • 武进区住房和城乡建设局网站爱站网能不能挖掘关键词
  • APP手机端电子商务网站建设营销成功的案例
  • 公司网站引导页百度搜索关键词排名优化技术
  • 网站开发与维护学什么网站建设seo优化培训
  • 常州网站开发百度网盘电脑版官网
  • wordpress安全权限关键词优化公司哪家好
  • 银川做网站服务google play下载安卓
  • 科技型中小企业服务网安徽搜索引擎优化seo
  • 网站建设专家排名邯郸seo营销
  • 做网站一个月20g流量够吗安全又舒适的避孕方法有哪些
  • 扫二维码直接进网站怎么做怎么提交网址让百度收录
  • 柳州建设局网站广告买卖网
  • 做外贸一般上哪些网站google play谷歌商店
  • 泉州手机网站制作如何做企业产品推广
  • 徐州手机网站设计汕头网站建设优化
  • 有没有专业收费做网站优化的百度百科优化排名
  • 常州网站建设哪家便宜江西seo推广软件
  • 如何用pageadmin做网站品牌宣传策略有哪些
  • 网站免费优化软件需要优化的地方
  • 24小时学会网站建设下载厦门百度竞价开户
  • 怎样学做网站网站权重等级
  • 做网站好还是做淘宝好北京seo推广
  • 郑州门户网站建设哪家好网站首页不收录