前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >TestNG Groups 例子

TestNG Groups 例子

作者头像
明明如月学长
发布2021-08-27 15:29:20
6950
发布2021-08-27 15:29:20
举报

【本系列其他教程正在陆续翻译中,点击分类:TestNG进行查看。】

【翻译 by 明明如月 QQ 605283073】

原文地址:http://websystique.com/java/testing/testng-groups-example/

上一篇:TestNG Annotations示例

本文将介绍TestNG 组测试中@BeforeGroups@AfterGroups注解的使用。

TestNG 允许我们通过组的形式来运行多个测试方法。

我们可以根据行为等将测试方法进行分组。

多个测试可以属于一个组,一个测试也可以成为多个组的一部分。

--------------------------------------

@BeforeGroups, @AfterGroups

带@BeforeGroups注解的方法将在本组内任何测试方法执行前被执行一次。

和此类似的是带@AfterGroups 注解的方法将在本组内任何测试方法执行后被执

代码语言:javascript
复制
package com.websystique.testng;
 
import org.testng.annotations.AfterGroups;
import org.testng.annotations.BeforeGroups;
import org.testng.annotations.Test;
 
public class TestNGGroupExample {
 
    @BeforeGroups("security")
    public void setUpSecurity() {
        System.out.println("setUpSecurity()");
    }
  
    @AfterGroups("security")
    public void tearDownSecurity() {
        System.out.println("tearDownSecurity()\n");
    }
 
    @BeforeGroups("database")
    public void setUpDatabase() {
        System.out.println("setUpDatabase()");
    }
  
    @AfterGroups("database")
    public void tearDownDatabase() {
        System.out.println("tearDownDatabase()\n");
    }
  
    @BeforeGroups(value="ui")
    public void setUpUI() {
        System.out.println("setUpUI()");
    }
  
    @AfterGroups(value="ui")
    public void tearDownUI() {
        System.out.println("tearDownUI()\n");
    }
 
    @Test(groups= "database")
    public void testInsert(){
        System.out.println("testInsert()");
    }
     
    @Test(groups= "database")
    public void testUpdate(){
        System.out.println("testUpdate()");
    }
 
    @Test(groups= "database")
    public void testDelete(){
        System.out.println("testDelete()");
    }
 
    @Test(groups= "security")
    public void accessHomePage() {
        System.out.println("accessHomePage()");
    }
  
    @Test(groups= "security")
    public void accessAdminPage() {
        System.out.println("accessAdminPage()");
    }
 
    @Test(groups= "ui")
    public void openConfirmationDialog() {
        System.out.println("openConfirmationDialog()");
    }
 
    @Test(groups= "ui")
    public void openFileDialog() {
        System.out.println("openFileDialog()");
    }
}

mvn clean test或者第一篇文章提到的TestNG eclipse 插件运行此测试:

代码语言:javascript
复制
setUpSecurity()
accessAdminPage()
accessHomePage()
tearDownSecurity()
 
setUpUI()
openConfirmationDialog()
openFileDialog()
tearDownUI()
 
setUpDatabase()
testDelete()
testInsert()
testUpdate()
tearDownDatabase()
 
PASSED: accessAdminPage
PASSED: accessHomePage
PASSED: openConfirmationDialog
PASSED: openFileDialog
PASSED: testDelete
PASSED: testInsert
PASSED: testUpdate
 
===============================================
    Default test
    Tests run: 7, Failures: 0, Skips: 0
===============================================
 
 
===============================================
Default suite
Total tests run: 7, Failures: 0, Skips: 0
===============================================

@BeforeGroups 在本组内任何测试方法执行前被调用一次。

@AfterGroups 在本组内任何测试方法执行后被调用一次。

Group 拓展:

假设我们只想执行安全和数据库相关的测试,而不是ui相关的。

我们可以使用testNG configuration xml 文件将ui排除出去。

src/test/resources文件夹下创建testng.xml

代码语言:javascript
复制

如果你实用的是基于maven的项目,可以配置pom.xml中的 maven-surefire-plugin

下面是pomx.ml的配置:

代码语言:javascript
复制
ersion>
                
                    
                        src/test/resources/testng.xml

右键 testng.xml file->RunAs->TestNG Suite]

代码语言:javascript
复制
setUpSecurity()
accessAdminPage()
accessHomePage()
tearDownSecurity()
 
setUpDatabase()
testDelete()
testInsert()
testUpdate()
tearDownDatabase()
 
 
===============================================
tests
Total tests run: 5, Failures: 0, Skips: 0
===============================================

你可以看到 ui 相关的测试方法和对应的beforeGroups/afterGroups 并没有被运行。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016/05/10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • @BeforeGroups, @AfterGroups
  • Group 拓展:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档