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 Https服务器端和客户端简单实例
转载地址:http://blog.csdn.net/gf771115/article/details/7827233 AndroidHttps服务器端和客户端简单实例 工具介绍 Eclipse3.7 ...
- jQ中对attr()方法的理解
在JS中设置节点的属性与属性值用到setAttribute(),获得节点的属性与属性值用到getAttribute(),而在jquery中,用一个attr()就可以全部搞定了,赞一个先 ^^jquer ...
- ML-分类与逻辑回归
布尔分类(binary classification)问题: 训练集:$S=\{(x^{(i)}, y^{(i)})\}$ 输入:特征向量$x$ 期望输出:$y\in\{0, 1\}$ 这里使用的假设 ...
- 双层路由设置,WAN口和LAN口连接的方法设置
WAN口设置方法,社路由器分别为路1 和路2 1 路2的LAN口地址改为172.16.1.1,重启 2 笔记本改成172.16.1.X,然后进入设置,在里面WAN地址设置为静态地址 192.168.1 ...
- Sublime Text 3使用指南(1)——安装package control组件
按Ctrl+`, 调出console 控制台中粘贴一下代码: import urllib.request,os; pf = 'Package Control.sublime-package'; ipp ...
- 利用wangEditor获取文章格式和内容
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs& ...
- Spring MVC上传文件
Spring MVC上传文件 1.Web.xml中加入 <servlet> <servlet-name>springmvc</servlet-name> <s ...
- [翻译]lithium 安装
安装 要求 web服务器 你需要一个web服务器来运行你的应用,最好是可以运行在你的本地机器上(你所有的开发不是都在这上面做的吗,不是吗?不是吗?).对于PHP而言,框架在很多web服务器上都运行的很 ...
- Apache配置文件讲解
持续作用扩展自 HTTP/1.0 和 HTTP/1.1 的长连接特性.提供了长效的 HTTP 会话,用以在同 一个 TCP 连接中进行多次请求. 在某些情况下, 这样的方式会对包含大量图片的 ...
- MySQL数据表操作
创建数据表 打开数据库 USE 数据库名称 mysql> USE D1; Database changed 使用 USE D1:表示打开数据库D1,我们可以通过SELECT DATABASE() ...