TestNG系列(二)TestNG注解

站长

发表文章数:4335

震惊!线上四台机器同一时间全部 OOM,到底发生了什么?

前言

TetsNG提供了很多注解,允许测试人员灵活地组织测试用例

一、@Test

@Tets是TestNG的核心注解,被注解的方法,表示为一个测试方法。

description属性

@Test(description = "yuhao")
public void case1(){
    System.out.println("case1方法");
}

在测试报告中体现出来

TestNG系列(二)TestNG注解

 

enabled属性

设置为false时,被注解的方法将不会执行

groups属性

对测试方法进行分组,可在类级别或方法级别添加组,类级别分组,表示类里面的所有方法都属于该分组。分组在XML中的调用与普通方法不同,在说XML时会详细介绍。

@Test(groups = "yuhao")
public void case1(){
    System.out.println("case1方法");
}

dependsOnMethods属性

测试方法case1依赖于case2,case2先于case1执行。如果case2失败了则case1也不执行,这叫硬依赖。

@Test(dependsOnMethods = {"case2"})
public void case1(){
    System.out.println("case1方法");
}
    
@Test
public void case2(){
    System.out.println("case1方法");
}

dependsOnGroups属性

 

类似于dependsOnMethods一个用方法名做依赖,一个使用组名做依赖。

invocationCount属性

方法执行次数

@Test(invocationCount = 5)
public void case1(){
    System.out.println("case1方法");
}

threadPoolSize属性

线程池的内线程的个数

timeOut属性

超时时间-毫秒

alwaysRun属性

在添加依赖关系时,加上alwaysRun=“true”的属性,无论依赖是否成功,此方法都会继续执行。

 

二、@Before

理解Redis的单线程模式

@BeforeClass,被注解的方法在此类所有测试方法前执行

@BeforeMethod,被注解的方法在每个@Tets方法前执行

@BeforeSuite,被注解的方法在当前Suite中方法执行前执行

@BeforeTest,被注解的方法在每个@Test方法前执行

@BeforeGropu,被注解的方法在指定组内方法执行前执行

三、@After

@AfterClass,被注解的方法在此类所有测试方法后执行

@AfterMethod,被注解的方法在每个@Tets方法后执行

@AfterSuite,被注解的方法在当前Suite中方法执行后执行

@AfterTest,被注解的方法在每个@Test方法后执行

@AfterGropu,被注解的方法在指定组内方法执行后执行

四、@Lgnore

被此方法注解的方法在测试时都将被忽略执行

五、@Listeners

定义一个测试类的监听器

六、@Parameters

此注解用来传递参数,可以传递单个、多个、默认值

传递单个参数

测试用例

@Parameters({ "user" })
@Test
public void testcase1(String user) {
  System.out.println(user);
}

XML文件

<suite name="Suite" parallel="false">
  <parameter name="user"  value="yogouo"/>
  <test name="autotest">
    <classes>
      <class name="com.TetsNG.testcase"/>
    </classes>
  </test> 
</suite>

传递多个参数

测试用例

@Parameters({ "user","data" })
@Test
public void testcase1(String user,String data) {
  System.out.println(user+data);
}

XML文件

<suite name="Suite" parallel="false">
  <parameter name="user"  value="yogouo"/>
 <parameter name="data" value="2019-12-09"> <test name="autotest"> <classes> <class name="com.TetsNG.testcase"/> </classes> </test> </suite>

默认值

测试用例

@Parameters({ "user" })
@Test
public void testcase1(@Optional("yogouo") String user) {
  System.out.println(user);
}

XML文件

<suite name="Suite" parallel="false">
  <test name="autotest">
    <classes>
      <class name="com.TetsNG.testcase"/>
    </classes>
  </test> 
</suite>

 

Scheme实现数字电路仿真(1)——组合电路

未经允许不得转载作者:站长, 转载或复制请以 超链接形式 并注明出处 xss云之家,资源网,娱乐网,网络技术资源分享平台
原文地址:《TestNG系列(二)TestNG注解》 发布于2019-12-09

分享到:
赞(0) 打赏 生成海报

长按图片转发给朋友

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

投稿赚钱
2020年在家赚取零花钱
切换注册

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录
切换登录

注册