category - junit用例分组执行
一、category 和 testSuite的比较
(1)testSuite是类级分组(xx.class)

(2)category是用例级分组(@Test)

(3)category是testSuite的升级:Category可以实现TestSuite的功能
二、category使用步骤
1、创建好测试类,及测试类中的测试用例
2、创建接口:按用例的分组来创建
3、@Category注解:将用例用@Category注解分组
4、创建类来执行这些分组的类
三、实例


1、创建测试类A.java,B.java
package zttc.itat.Category;
import org.junit.Test;
import org.junit.experimental.categories.Category;
public class A {
@Test
public void a() {
System.out.println("A a()");
} //用例分组:SlowTests.class
@Category(SlowTests.class)
@Test
public void b() {
System.out.println("A b()");
}
}
A.java
package zttc.itat.Category; import org.junit.Test;
import org.junit.experimental.categories.Category; //@Category注解中,可以使用多个分类类型,eg:@Category({A.class,B.class});
@Category({
SlowTests.class,
FastTests.class
})
public class B {
@Test
public void c() {
System.out.println("B c()");
} @Test
public void d() {
System.out.println("B d()");
}
}
B.java
2、创建接口SlowTests.java、FastTests.java(用例分几组,就创建几个接口)
package zttc.itat.Category;
public interface SlowTests {
}
SlowTests.java
package zttc.itat.Category;
public interface FastTests{ }
FastTests.java
3、@Category注解:将用例用@Category注解分组
(1)@Category可以注解在用例上,也可以注解在类上;
(2)一个用例可以同时在多个组:@Category可以使用多个分组类型,eg:@Category({A.class,B.class})
4、创建类来执行这些分组的类
package zttc.itat.Category;
import org.junit.experimental.categories.Categories;
import org.junit.experimental.categories.Categories.IncludeCategory;
import org.junit.experimental.categories.Categories.ExcludeCategory;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import zttc.itat.Category.A;
import zttc.itat.Category.B;
//表示此类为Category类
@RunWith(Categories.class)
//要运行的类
@Suite.SuiteClasses({
A.class,
B.class
}) // Note that Categories is a kind of Suite
@IncludeCategory(SlowTests.class)//要运行的用例组
//@ExcludeCategory(FastTests.class)//不要运行的用例组
public class SlowTestSuite {
// Will run A.b、 B.c and B.d, but not A.a
}
【注】SlowTestSuite.java没有 @IncludeCategory 和 @ExcludeCategory 注解,功能同testSuite
category - junit用例分组执行的更多相关文章
- 【Pytest05】全网最全最新的Pytest框架之用例分组执行
一.Fixture用例分组运行常用于冒烟测试,分模块运行等 pytest.ini配置文件中增加分组参数markers来实现用例分组,如: markers = g1:组一 smoke:冒烟测试 pyte ...
- Pytest_用例分组(6)
用例分组 pytest进行分组测试的方法是使用装饰器 @pytest.mark.标记名称,被标记为相同名称的用例可以看做为同一个组. 分组用例的运行方式是在执行命令中追加 -m "标记名称& ...
- IDEA导包(以junit为例)
## IDEA导包(以junit为例) 1. 准备junit的jar包: * hamcrest-core-1.3.jar * junit-4.12.jar 2. 在项目中新建文件夹:lib 3. 将j ...
- python--selenium多线程执行用例实例/执行多个用例
python--selenium多线程执行用例实例/执行多个用例 我们在做selenium测试的时候呢,经常会碰到一些需要执行多个用例的情况,也就是多线 程执行py程序,我们前面讲过单个的py用例怎么 ...
- Python-获取前一条用例的执行结果
import unittest,HTMLTestRunner from nose_parameterized import parameterized def login(username,passw ...
- pybot执行多条用例时,某一个用例执行失败,停止所有用例的执行
问题: pybot执行多条用例时,某一个用例执行失败,停止所有用例的执行 解决办法: pybot -exitonfailure E:\robot\呼送项目\测试用例\基本流程\主流程.txt 参考文章 ...
- appium学习【二】:用try捕获异常后,用例的执行结果为pass
在代码中用try..except捕获异常截图后,HTMLTestRunner生成的测试报告中,用例的执行结果为pass 解决办法为: 在try..except后加raise,只要再加个raise就行了 ...
- TestNG设置用例循环执行
曾经做过一需求,需要单个集成测试用例循环执行N次,或许你会说for循环就可以了,这当然是可以的.那有没有逼格更高点的方法,当然也是有的.下面我们就说下使用TestNG注解功能实现用例的循环执行. 1. ...
- 章节十六、4-TestNG高级功能--把测试方法分优先级、分组执行
一. 把测试方法分优先级执行----->(priority=索引) 1.新建一个testng方法 package testclasses; import org.testng.annotatio ...
随机推荐
- php中include()和require()的区别
1.引用文件方式 对 include()来说,在include()执行时文件每次都要进行读取和评估:而对于require()来说,文件只处理一次(实际上,文件内容替换 了require()语句.这就意 ...
- POJ 3070 Fibonacci
Description In the Fibonacci integer sequence, F0 = 0, F1 = 1, and Fn = Fn − 1 + Fn − 2 for n ≥ 2. F ...
- 给定时器settimeout、setInterval调用传递参数
无论是window.setTimeout还是window.setInterval,在使用函数名作为调用句柄时都不能带参数,而在 许多场合必须要带参数,这就需要想方法解决.例如对于函数hello(_na ...
- java 垃圾回收
转自:http://www.360doc.com/content/13/0305/10/15643_269388816.shtml
- Win7下Doxygen配置与使用
1. 下载与安装 1.1 下载 Doxygen官方安装程序及其手册下载地址,目前使用版本为1.8.8. 安装程序:http://www.stack.nl/~dimitri/doxygen/downl ...
- Linux关机和重启命令
shutdown shutdown [选项] 时间 选项: -c : 取消一个关机命令 -h : 关机 -r : 重启 [root@localhost ~]# date Tue Dec 6 21:06 ...
- 读《编写可维护的JavaScript》第八章总结
第八章 避免“空比较” 我们在对传进来的参数做处理之前,肯定需要验证一下是否是我们想要的,也就是说大多数情况下,我们需要对比一下它的类型. 作者首先给了一个看起来都感觉不对的代码: var Contr ...
- UTF-8 ->GBK
/** * GBK->UTF8 */ //方法一 旧方法 //NSString *encode1 = [@"%E6%88%91" stringByReplacingPerce ...
- Highcharts动态添加点数据
Highcharts用来作为图表数据的展示十分方便,效果也比较好.highcharts不仅可以实现死数据的展示,也能实现动态数据的实时添加显示,类似财经股票的实时刷新效果,实现过程并不难,大致如下. ...
- WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED
原文地址:http://linuxme.blog.51cto.com/1850814/375752 今天将阿里云服务器更换了一下系统盘,重启成功后,再次通过终端访问阿里云的公网IP报以下信息: @@@ ...