`

testng笔记3

 
阅读更多
1 testng最强大的功能就是分组了,先来看基本的分组功能,如:
      @Test(groups={"test-group"})
public void testMethodOne(){
System.out.println("Test method one belonging to group.");
}

@Test
public void testMethodTwo(){
System.out.println("Test method two not belonging to group.");
}

@Test(groups={"test-group"})
public void testMethodThree(){
System.out.println("Test method three belonging to group.");
}

  然后testng.xml中配置
      <test name="Group Test">
<groups>
<run>
<include name="test-group" />
</run>
</groups>
<classes>
<class name="test.groups.TestGroup" />
</classes>
</test>
会执行所有包含(groups={"test-group"})的测试方法
  
2 测试属于多个组的类
<suite name="Multi Group Suite" verbose="1">
<test name="Group Test one">
<groups>
<run>
<include name="group-one" />
</run>
</groups>
<classes>
<class name="test.groups.MultiGroup" />
</classes>
</test>
<test name="Group Test two">
<groups>
<run>
<include name="group-two" />
</run>
</groups>
<classes>
<class name="test.groups.MultiGroup" />
</classes>
</test>
</suite>
      @Test(groups={"group-one"})
public void testMethodOne(){
System.out.println("Test method one belonging to group.");
}

@Test(groups={"group-one","group-two"})
public void testMethodTwo(){
System.out.println("Test method two belonging to both group.");
}

@Test(groups={"group-two"})
public void testMethodThree(){
System.out.println("Test method three belonging to group.");
}

则输出:
   Test method one belonging to group.
Test method two belonging to both group.
Test method three belonging to group.
Test method two belonging to both group.

3  包含或排除groups
     <suite name="Exlude Group Suite" verbose="1">
<test name="Exclude Group Test">
<groups>
<run>
<include name="include-group" />
<exclude name="exclude-group" />
</run>
</groups>
<classes>
<class name="test.groups.ExcludeGroup" />
</classes>
</test>
</suite>
     @Test(groups={"include-group"})
public void testMethodOne(){
System.out.println("Test method one belonging to group.");
}

@Test(groups={"include-group"})
public void testMethodTwo(){
System.out.println("Test method two belonging to a group.");
}

@Test(groups={"include-group","exclude-group"})
public void testMethodThree(){
System.out.println("Test method three belonging to two groups.");
}
则可以看到,<exclude name="exclude-group" />,所以只输出:
  Test method one belonging to group.
Test method two belonging to a group.


4 也可以使用正则,如:
     <suite name="Regular Exp. Group Suite" verbose="1">
<test name="Regular Exp. Test">
<groups>
<run>
<include name="include.*" />
<exclude name=".*exclude" />
</run>
</groups>
<classes>
<class name="test.groups.RegularExpressionGroup" />
</classes>
</test>
</suite>
   @Test(groups={"include-test-one"})
public void testMethodOne(){
System.out.println("Test method one");
}

@Test(groups={"include-test-two"})
public void testMethodTwo(){
System.out.println("Test method two");
}

@Test(groups={"test-one-exclude"})
public void testMethodThree(){
System.out.println("Test method three");
}

@Test(groups={"test-two-exclude"})
public void testMethodFour(){
System.out.println("Test method Four");
}

输出:Test method one
Test method two


5  默认的组,在类的层次上指定组,比如:
    <suite name="Default Group Suite" verbose="1">
<test name="Default Group Test one">
<groups>
<run>
<include name="default-group" />
</run>
</groups>
<classes>
<class name="test.groups.DefaultGroup" />
</classes>
</test>
<test name="Default Group Test two">
<groups>
<run>
<include name="test-group" />
</run>
</groups>
<classes>
<class name="test.groups.DefaultGroup" />
</classes>
</test>
</suite>
  
@Test(groups={"default-group"})
public class DefaultGroup {
public void testMethodOne(){
System.out.println("Test method one.");
}

public void testMethodTwo(){
System.out.println("Test method two.");
}

@Test(groups={"test-group"})
public void testMethodThree(){
System.out.println("Test method three.");
}

}
     输出:
Test method one.
Test method three.
Test method two.
Test method three.

6  多个组的嵌套
    <suite name="Group of group Suite" verbose="1">
<test name="Group of group Test">
<groups>
<define name="include-group">
<include name="test-one-include" />
<include name="test-two-include" />
</define>
<define name="exclude-group">
<include name="test-one-exclude" />
<include name="test-two-exclude" />
</define>
<run>
<include name="include-group" />
<exclude name="exclude-group" />
</run>
</groups>
<classes>
<class name="test.groups.RegularExpressionGroup" />
</classes>
</test>
</suite>
    
0
0
分享到:
评论

相关推荐

    TestNG笔记

    3. **类测试支持**:不必为每个测试方法创建单独的测试类,TestNG支持默认情况下重用类实例。 4. **独立的编译时间与运行时配置**:测试代码与运行时配置分离,允许在不重新编译的情况下改变测试配置。 5. **运行时...

    TestNG中文手册学习笔记

    TestNG 是一个强大的自动化测试框架,受到 JUnit 和 NUnit 的启发,但在功能和灵活性上有所增强,特别适合进行单元测试、功能测试、端到端测试和集成测试。它需要 JDK 5 或更高版本来运行。TestNG 的设计目标是为...

    TestNG学习笔记

    ### TestNG 学习笔记概览 #### 一、JUnit 的局限性与 TestNG 的优势 ##### JUnit 缺陷概述 - **最初的用途限制**:JUnit 最初被设计为一个仅适用于单元测试的框架,但随着时间的发展,其功能已扩展至支持多种类型...

    【TestNG自动化测试框架】TestNG自动化测试框架入门到实战完整笔记

    TestNG自动测试框架是当今流行的自动化测试框架之一 它可以帮助自动化测试工程师把精力集中在编写和实施测试用例和测试脚本上,提升软件测试执行和回归测试效率 分成4大模块 第一模块java 基础知识:JDK安装以及环境...

    Selenium+Eclipse+Junit+TestNG自动化学习笔记

    ### Selenium+Eclipse+JUnit+TestNG自动化测试学习笔记 #### 一、环境搭建与配置 **1. 安装 JDK** - **版本**: JDK 1.7 - **下载地址**: ...

    达内Java项目云笔记12天完整源码cloudnote_day12_all.zip

    3. **Spring Boot**:Spring Boot简化了Spring应用程序的初始设置和配置,使得开发者可以快速启动并运行项目。它集成了许多默认配置,如数据源、Tomcat服务器和日志系统,大大提高了开发效率。 4. **MyBatis**:...

    云笔记资源代码

    测试是任何软件项目的重要组成部分,可能会使用JUnit或TestNG进行单元测试,确保每个独立的代码模块都能正常工作。而Spring Boot自带的MockMVC可以用来进行模拟HTTP请求的集成测试。 在部署方面,项目可能使用...

    ssh学习笔记

    - **spring-test**:提供了对 JUnit 或 TestNG 进行集成测试的支持。 - **junit**:一个常用的单元测试框架。 ### 二、数据库访问 #### Spring JDBC 模块 - **spring-jdbc**:提供了对 JDBC 的封装,使得数据访问...

    Maven3实战笔记(全)

    《Maven3实战笔记(全)》是一本全面深入介绍Maven3的实践指南,由一位具有独特风格的作者撰写,以其风趣幽默的方式解析了Maven3的各种核心概念和使用技巧。这本书涵盖了从Maven的基础安装与配置,到复杂的仓库依赖...

    Selenium WebDriver的笔记整理

    3. **新建TestNG框架**: - 创建Package:在src目录下新建一个Package。 - 创建TestNG测试类:在Package中创建一个TestNG测试类,使用注解`@BeforeMethod`和`@AfterMethod`来定义测试前后的操作。 **编写测试代码...

    java学习笔记 良格格

    ### Java学习笔记要点 #### 一、了解Java ##### 1.1 Java的起源与发展历程 - **起源**: Java 最初是由 Sun 公司在 Green Project 中为了开发 Star7 应用程序而创建的一种编程语言。 - **命名**: 语言的名字来源于 ...

    软件测试内部教程笔记

    5. **自动化测试**:随着敏捷开发的普及,自动化测试工具如Selenium、JUnit、TestNG、Appium等的使用变得尤为重要。笔记会介绍如何创建测试脚本,进行回归测试,以及持续集成。 6. **性能测试**:包括负载测试、...

    java体系笔记

    Eclipse、IntelliJ IDEA等IDE为Java开发提供了强大的集成环境,Maven或Gradle用于项目构建和依赖管理,Junit、TestNG等支持单元测试。 本Java体系笔记覆盖了从基础知识到高级特性的全面内容,帮助读者建立扎实的...

    Java+JDK+6学习笔记.pdf

    - **测试工具**:JUnit、TestNG 等工具用于进行单元测试和集成测试。 - **项目库**:Maven Central Repository 等仓库提供大量的 Java 项目依赖。 - **论坛与文档**:Stack Overflow、Oracle Java 文档等资源对于...

    web笔记两连发

    4. **开发工具**:标签中的"工具"可能指的是开发者在Web开发过程中使用的各种辅助软件,如IDE(IntelliJ IDEA、Eclipse)、版本控制系统(Git)、构建工具(Maven、Gradle)、调试器、测试框架(JUnit、TestNG)等。...

    Selenium学习笔记源代码

    5. **测试框架集成**:Selenium可以与JUnit、TestNG等测试框架结合,构建更复杂的测试套件。这样,你可以编写结构化的测试用例,方便管理和执行。 6. **浏览器模拟**:Selenium支持多种浏览器,如Chrome、Firefox、...

    Java+JDK6学习笔记(PDF版书籍,免费下载)

    ### Java+JDK6学习笔记知识点详解 #### 一、Java简介 - **起源与历史:** - 最初由Sun公司的Green Project发起,旨在创建一个名为Star7的应用程序编程语言。 - 名称来源于创始人James Gosling窗外的一棵橡树...

    HSAE自动化工具,随手笔记

    3. 数据驱动测试:通过外部数据文件(如CSV或Excel)提供测试输入,使测试用例更灵活,易于管理和扩展。 4. 页面对象模型(POM):这是一种设计模式,将页面元素和相关操作封装,降低脚本维护成本,提高代码复用性...

    Spring学习总结笔记

    - **Test**:支持测试Spring应用,包括JUnit和TestNG集成。 2. **Spring框架的搭建** 搭建Spring环境首先需要引入必要的依赖库,例如:aopalliance、commons-logging、spring-aop、spring-beans、spring-context...

    IDEA快速使用入门笔记.zip

    同时,IDEA也支持JUnit和TestNG等单元测试框架,方便进行测试编写和运行。 9. **插件安装**: IDEA的扩展性极强,可以在"File" -&gt; "Settings" -&gt; "Plugins"中搜索并安装各种插件,以满足特定需求,如Lombok插件、...

Global site tag (gtag.js) - Google Analytics