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 ...
随机推荐
- android ViewPager使用遇到的问题
项目需求是需要实现一个有两页可滑动的界面,就想到了使用ViewPager,在实现是没有深入考虑,就直接使用了PagerAdapter,页面是正常实现了,可是发现无法流畅的刷新页面(直接使用notify ...
- Git使用教程【转】
Git使用教程 一:Git是什么? Git是目前世界上最先进的分布式版本控制系统. 二:SVN与Git的最主要的区别? SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是 ...
- [译]使用JMH进行微基准测试:不要猜,要测试!
英文原文:Micro Benchmarking with JMH: Measure, don't guess!翻译地址:使用JMH进行微基准测试:不要猜,要测试!原文作者:Antonio翻译作者:Ho ...
- 【前端】CoffeeScript
es6中的双箭头函数可以省略小括号,coffee中不可以 es6: (x) => x * x // 可以 x => x * x // 可以 coffee: (x) => x * x ...
- android HAL 教程(含实例)
http://www.cnblogs.com/armlinux/archive/2012/01/14/2396768.html Android Hal 分析 ...
- css 水平垂直居中总结
空闲总结了下水平垂直居中方案,欢迎补充: 水平居中 水平居中有两种情况: 子元素是内联元素 这种那个情况下只需要在父元素定义: text-align:center; 例子: html: //省略了bo ...
- java中变量命名和引用变量的一个坑
这次有两个主题,第一个太简单啦,就是java中变量的命名规则,纯记忆性东西.第二个主题,就是讨论一下对象引用变量的一个注意点.
- Java类的加载
1.类的加载步骤 当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载.连接.初始化三步来实现对这个类的初始化 加载:将class文件读入内存,并为之创建一个Class对象,任何类被使用 ...
- Cheatsheet: 2016 11.01 ~ 11.30
Web Getting Started With Vapor: A Swift Web Framework Front-end vs Back-end vs Network Performance S ...
- hdu 4920 Matrix multiplication bitset优化常数
Matrix multiplication Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/ ...