TestNG的组測试和组中组測试
在编写測试的过程中,我们常常遇到仅仅想运行个别或者某一部分/某一类型的測试用例,这时我们能够使用TestNG的分组測试方法
分组測试在配置时。TestNG运行的原则是:仅仅保留最小集合进行运行
看代码:
/**
*
* <p>
* Title: TestngGroups
* </p>
*
* <p>
* 相应配置文件testng-groups.xml
* Description:使用groups进行分组測试,include和exclude的原则是保留最小集合,
* </p>
*
* <p>
* Company:
* </p>
*
* @author : Dragon
*
* @date : 2014年10月13日
*/
public class TestngGroups {
@Test(groups = { "functest", "checkintest" })
public void testMethod1() {
System.err.println("groups = { functest, checkintest }");
} @Test(groups = { "functest", "checkintest" })
public void testMethod2() {
System.err.println("groups = { functest, checkintest }");
} @Test(groups = { "functest" })
public void testMethod3() {
System.err.println("groups = { functest }");
} @Test(groups = { "checkintest" })
public void testMethod4() {
System.err.println("groups = { checkintest }");
} }
配置文件:testng-groups.xml
<? xml version="1.0" encoding="UTF-8"? >
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="framework_testng">
<test verbose="2" name="TestGroups">
<groups>
<run>
<include name="functest" />
<exclude name="checkintest" />
</run>
</groups> <classes>
<class name="com.dragon.testng.annotation.TestngGroups" />
</classes>
</test>
</suite>
运行结果:
groups = { functest }
PASSED: testMethod3 ===============================================
TestGroups
Tests run: 1, Failures: 0, Skips: 0
=============================================== ===============================================
framework_testng
Total tests run: 1, Failures: 0, Skips: 0
===============================================
当我们的測试用例累积了非常多以后,我们可能不须要測试之前的分组,仅仅要測试刚刚写好的分组,这时候testng提供了一种新的配置方式。来实现这一功能,让測试人员仅仅改动配置文件就完毕測试
注意:多个group測试时,xml文件dom顺序必须是'<groups>'标签必须在'<test>'标签内, 否则会 有空指针异常
/**
*
* <p>
* Title: TestngGroupsOfGroups
* </p>
*
* <p>
* 參考配置文件:testng-groupsOfGroups.xml
* Description:使用<define>标签将測试方法在组内再次进行分组并以name属性进行区分,
* <run>通过define标签的name进行调用,以后改动測试直接改动run调用的名称就可以
*
* 注:<b>多个group測试时,xml文件dom顺序必须是'<groups>'标签必须在'<test>'标签内, 否则会 有空指针异常
* </p>
*
* <p>
* Company:
* </p>
*
* @author : Dragon
*
* @date : 2014年10月13日
*/
public class TestngGroupsOfGroups { @Test(groups = { "windows.xp" })
public void testMethod5() {
System.err.println("(groups = { windows.xp })");
} @Test(groups = { "windows.7" })
public void testMethod6() {
System.err.println("(groups = { windows.7 })");
} @Test(groups = { "windows.8" })
public void testMethod7() {
System.err.println("(groups = { windows.8 })");
}
}
配置文件:testng-groupOfGroups.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="framework_testng">
<test verbose="2" name="TestGroupsOfGroups">
<groups>
<define name="windows.xp">
<include name="windows.xp" />
</define>
<define name="windows.7">
<include name="windows.7" />
</define>
<define name="all">
<include name="windows.*" />
</define>
<run>
<include name="all" />
<exclude name="windows.7" />
</run>
</groups>
<classes>
<class name="com.dragon.testng.annotation.TestngGroupsOfGroups" />
</classes>
</test>
</suite>
測试结果:(注意:此时 被执行的測试分组将在run标签内进行配置,include和exclude时,是依据Define标签的name来决定)
(groups = { windows.xp })
(groups = { windows.8 })
PASSED: testMethod5
PASSED: testMethod7 ===============================================
TestGroupsOfGroups
Tests run: 2, Failures: 0, Skips: 0
===============================================
假设我宽容,
别觉得我怯懦。由于我明确,宽容是美德,美德没有错。
TestNG的组測试和组中组測试的更多相关文章
- 软件測试、ios中的測试概念以及步骤
软件測试: 软件測试的目标是应该服务于软件项目的目标,能够通过建议反馈使用更加高效的方法和工具,提升软件开发效率以及软件开发质量.同一时候还能够通过过一些手段,更早.更快.很多其它地发现缺陷.从容减少 ...
- 2014华为机试西安地区B组试题
2014华为机试西安地区B组试题 题目一.亮着点灯的盏数 一条长廊里依次装有n(1≤n≤65535)盏电灯,从头到尾编号1.2.3.-n-1.n.每盏电灯由一个拉线开关控制.開始,电灯所有关着. 有n ...
- 2014华为机试西安地区A组试题
2014华为机试西安地区A组试题 题目一.分苹果 M个同样苹果放到N个同样篮子里有多少种放法,同意有篮子不放. 1<=M<=10.1<=N<=10 比如5个苹果三个篮子,3,1 ...
- 将1、2、3、……、n这n个连续自然数分成g组,使每组的和相等。g组中个数最多的一组有几个?
<style type="text/css"> #content { width: 600px; margin: 150px auto 0 auto; } dl dd ...
- Linux中组 与 用户的管理
在linux中建立组的指令是 groupadd 组名 相应的,删除组的指令: groupdel 组名 查看自己用户的组: groups 一个用户可以在多个组里面,用这个命令可以将用户添加到组: add ...
- Jmeter-测试计划,线程组,取样器,逻辑控制器,断言和监听器
一 测试计划: 是使用jmeter测试的起点,是其他测试元件的容器,一个完整的测试计划包括多个线程组,逻辑控制器,取样器,监听器,配置元件 用户定义的变量: 测试计划上可以添加用户定义的变量.一般添加 ...
- 正则表达式的捕获组(capture group)在Java中的使用
原文:http://blog.csdn.net/just4you/article/details/70767928 ------------------------------------------ ...
- 无废话ExtJs 入门教程十[单选组:RadioGroup、复选组:CheckBoxGroup]
无废话ExtJs 入门教程十[单选组:RadioGroup.复选组:CheckBoxGroup] extjs技术交流,欢迎加群(201926085) 继上一节内容,我们在表单里加了个一个单选组,一个复 ...
- (4.5.4)Android測试TestCase单元(Unit test)測试和instrumentationCase单元測试
Android单元和instrumentation单元測试 Developing Android unit and instrumentation tests Android的单元測试是基于JUnit ...
随机推荐
- STL容器 -- Map
核心描述: map 就是从键(key) 到 值(value) 的一个映射.且键值不可重复,内部按照键值排序. 头文件: #include <map> 拓展: multimap 是一个多重映 ...
- Django Restframework 实践(二)
按照自己的方法来写接口 ''' @api_view([ 'POST','GET',]) 允许请求的是get或post方法,这里去掉get那么就不能用get方法请求 @permission_classe ...
- Selenium快速入门(上)
浏览器驱动下载 Edge浏览器 Firefox浏览器 Safari浏览器 Chrome浏览器 PhantomJS浏览器 下载完成之后,添加到环境变量. 声明浏览器对象 selenium支持的浏览器版本 ...
- codevs 5294 挖地雷
5294 挖地雷 时间限制: 1 s 空间限制: 1000 KB 题目等级 : 黄金 Gold 题目描述 Description 在一个地图上有N个地窖(N<=20),每个地窖中埋有一 ...
- hdu 4352 数位dp+nlogn的LIS
题意:求区间L到R之间的数A满足A的的数位的最长递增序列的长度为K的数的个数. 链接:点我 该题的关键是记录LIS的状态,学习过nlogn解法的同学都知道,我们每次加入的元素要和前面的比对替换,这里就 ...
- CROC 2016 - Elimination Round (Rated Unofficial Edition) B. Mischievous Mess Makers 贪心
B. Mischievous Mess Makers 题目连接: http://www.codeforces.com/contest/655/problem/B Description It is a ...
- Codeforces Round #245 (Div. 2) B. Balls Game 并查集
B. Balls Game Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/430/problem ...
- ReactNative 调用手机地图(高德、百度)导航 Android
由于项目需要,鉴于第三方sdk包的体积略大,经过评估论证后,决定采用调起APP以及网页地图的方式来进行导航. 思路: 在需要调用导航的界面通过原生获取当前手机内可用的导航app组装成列表返回到RN待选 ...
- The method setClass(Context, Class<?>) in the type Intent is not applicable for the arguments (GameV
在当前短信内容的activity中写 Bundle bun = new Bundle(); bun.putString("message", ...
- Tasker, Android系统增强神器
Tasker是一个让系统根据用户定制的”配置文件”(Profiles),在特定的”背景”下(Contexts),执行指定”任务”(Tasks)的软件, 除此之外,它还提供”可供点击”的(Clickab ...