首页 > 其他分享 >TestNG基础

TestNG基础

时间:2024-08-01 11:53:27浏览次数:5  
标签:void 基础 System TestNG 测试用例 println public out

TestNG简介

  • TestNG是一个单元测试框架,它提供了注解来帮助管理测试用例
  • 主要作用:发现测试用例、执行测试用例、判断测试结果、生成测试报告

配置TestNG的依赖

配置TestNG的依赖通常是通过构建工具如Maven或Gradle来完成的。

Maven介绍

  • 第三方库
  • 大型仓库

配置TestNG依赖

点击查看代码
<dependencies>  
    <!-- 其他依赖项 -->  
  
    <!-- TestNG依赖项 -->  
    <dependency>  
        <groupId>org.testng</groupId>  
        <artifactId>testng</artifactId>  
        <version>7.4.0</version>  
        <scope>test</scope>  
    </dependency>  
  
    <!-- 如果你的项目还使用了JUnit(比如用于某些遗留代码),确保不要包含JUnit的依赖项在test scope中,  
         因为TestNG内部已经集成了JUnit的兼容层,但如果你确实需要JUnit的某些功能,  
         请确保它的版本与TestNG兼容 -->  
</dependencies>

TestNG常用注解

注解底层原理:代码对一些方法进行了封装,例如main方法,可以将注解下方的方法传入,进行运行

1、注解:@Test:标识方法是一个基于TestNG的测试用例

常用属性
package com.api.login;

import org.testng.annotations.Test;

public class TestLogin {
    //标识它不是一个测试用例
    @Test(enabled = false)
    public void TestLogin001(){
        System.out.println("测试登录的测试用例");
    }
    //改变执行用例的顺序,值越小优先级越高
    @Test(priority = 1)
    public void TestLogin002(){
        System.out.println("测试登录的测试用例002");
    }
    //控制测试用例执行的次数
    @Test(invocationCount = 2)
    public void TestLogin003()
    { System.out.println("执行2次测试登录的测试用例");
    }
    //解决测试用例之间的依赖关系
   @Test(dependsOnMethods = {"TestLogin003"})
    public void TestLogin004()
    { System.out.println("执行依赖情况");
    }
}

2、前后置注解:链接数据库,打开浏览器等
常用
前置注解
@BeforeSuite:该方法将在该套件(Suite)中的所有测试运行之前执行一次。一个套件对应一个顶级模块,通常结合testng.xml文件中的<suite>或<suite-file>使用。
@BeforeTest:该方法将在属于<test>标签内的类的所有测试方法运行之前执行一次。一个<test>标签对应一个子模块。
@BeforeGroups:该方法将在其之前运行的组的列表中的第一个测试方法之前执行。可以指定组名来限制该方法在特定组之前运行。 @BeforeClass:该方法将在调用当前类中的第一个测试方法之前执行一次,并且只执行一次。
@BeforeMethod:该方法将在当前类中的每个测试方法运行之前执行。
package com.api.login;

import org.testng.annotations.*;

public class TestLogin {
    @BeforeSuite
    public  void  Test001(){
     System.out.println("测试套件前置,相当于整个项目");
 }
    @BeforeTest
    public  void  Test002(){
        System.out.println("测试模块前置,相当于一个模块");
    }
    @BeforeClass
    public  void  Test003(){
        System.out.println("测试类前置,相当于一个子模块");
    }
    @BeforeMethod
    public  void  Test004(){
        System.out.println("测试用例套件,相当于一个功能");
    }
    @Test
    public  void  show1(){
        System.out.println("展示:");
    }
    @Test
    public  void  show2(){
        System.out.println("展示:");
    }
    @Test
    public  void  show3(){
        System.out.println("展示:");
    }

}

后置注解
@AfterSuite:该方法将在该套件中的所有测试运行之后执行一次。
@AfterTest:该方法将在属于<test>标签内的类的所有测试方法运行之后执行一次。  @AfterGroups:该方法将在其后运行的组的列表中的最后一个测试方法之后执行。可以指定组名来限制该方法在特定组之后运行。
@AfterClass:该方法将在当前类中的所有测试方法运行之后执行一次,并且只执行一次。
@AfterMethod:该方法将在当前类中的每个测试方法运行之后执行。

标签:void,基础,System,TestNG,测试用例,println,public,out
From: https://www.cnblogs.com/zwy-blogs/p/18336361

相关文章

  • 数仓基础知识_拉链表的详细讲解
    拉链表没错,就像衣服的拉链一样重要,实用性非常强,使用频率非常高。拉链表核心思想,像个拉链,支持开链,支持闭链,支持退链,我们通常将最新的数据称为开链数据,历史数据称为闭链数据,拉链表支持历史数据查询,且空间占用较小,但是数据加工处理较为繁琐,属于时间换空间的设计方式,拉链表一......
  • 更新基础虚拟环境想要删除一些软件包
    注意:这个问题与下面的问题Q5相关。但它是不同的,因为:1)就我而言,只需要删除几个包(我的问题的原因是否与问题5相同尚不清楚),2)我问不同的具体问题,没有在那里问,3)我正在添加我尝试过但不起作用的东西。我目前正在使用Anaconda,并且我发现版本/更新/venvs存在无数问题。我......
  • 如何用3个月零基础入门网络安全?
    前言写这篇教程的初衷是很多朋友都想了解如何入门/转行网络安全,实现自己的“黑客梦”。文章的宗旨是:1.指出一些自学的误区2.提供客观可行的学习表3.推荐我认为适合小白学习的资源.大佬绕道哈!一、自学网络安全学习的误区和陷阱1.不要试图先成为一名程序员(以编程为基础......
  • JAVA—面向对象编程基础
              面向对象是java编程的套路。更符合人类思维习惯,编程更直观。面向对象有三大特征:封装,继承,多态。目录1.理解面向对象2.对象在计算机中的执行原理 3.类和对象的一些注意事项 4.类与对象的一些语法知识(1)this关键字(2)构造器(3)封装 (4)实体javaBean(实体......
  • 请以零基础学Python 之 第二十讲 分组和贪婪匹配
    当我们处理字符串时,有时候需要根据特定的模式来分割或者提取信息。Python提供了强大的正则表达式库re,可以帮助我们实现这些复杂的字符串操作。本篇博客将介绍两个常用的正则表达式技巧:分组和贪婪匹配。分组(Grouping)在正则表达式中,分组是将多个模式单元组合为一个单元,以便......
  • 零基础学python 之 第十九讲 正则表达式
    当你开始学习Python编程时,正则表达式是一项非常强大的工具,用于处理文本数据中的模式匹配和搜索。本篇博客将带你从零开始学习如何在Python中使用正则表达式。1.什么是正则表达式?正则表达式(RegularExpression)是用于描述字符串模式的一种工具,可以用来匹配、查找、替换符合特......
  • Java入门基础-11面向对象高级(二)
    Java入门基础-11面向对象高级(二)本章知识点总结于黑马程序员的视频课程:《Java入门基础课程》,是对上课做的笔记Java入门基础课程视频地址Java入门基础-10面向对象高级目录Java入门基础-11面向对象高级(二)前言面向对象的三大特征之三:多态认识多态使用多态的好处、类型......
  • Spring框架 配置Gateway网关/spring cloud gateway 基础入门案例教程
    文章目录目录文章目录安装流程小结概要安装流程技术细节小结概要网关作为微服务集群唯一的对外入口,可以实现很多功能.例如:统一的解决跨域(一个ajax请求origin域名和请求目标url中域名不同,ip不同,域名不同,端口不同,都会引发的问题)问题.统一的身份认证.认证解......
  • 【会计基础知识】销售相关业务会计分录
    1.普通销售1.1销售发货单在存货核算模块的会计分录:借:主营业务成本贷:库存商品1.2销售发票在应收账款模块的会计分录:借:应收账款贷:主营业务收入、应交税金--应交增值税--销项税额2.分期收款2.1在存货核算模块的会计分录:分期收款发货单:借:发出商品贷:库存商品分期收款......
  • JavaSE基础 (认识String类)
    一,什么是String类在C语言中已经涉及到字符串了,但是在C语言中要表示字符串只能使用字符数组或者字符指针,可以使用标准库提供的字符串系列函数完成大部分操作,但是这种将数据和操作数据方法分离开的方式不符合面相对象的思想,而字符串应用又非常广泛,因此Java语言专门提供了Strin......