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 appwigt
package com.example.test1; import android.os.Bundle; import android.app.Activity; import android.con ...
- 原创一看便知、Maven创建web项目
创建maven-项目 如果 pom.xml 文件报错 右击项目-->Maven-->update Project 详细步骤 上图中Next 2.继续Next 3.选maven-a ...
- Xcode及obj-c的基础知识
1, 从简单的例程来看基本语法: 下面的代码是通过OSX-Application-Command Line Tool生成的: #import <Foundation/Foundation.h&g ...
- Java生成随机验证码
package com.tg.snail.core.util; import java.awt.Color; import java.awt.Font; import java.awt.Graphic ...
- ios framework 分离与合并多种CPU架构,分离与合并模拟器与真机
ios framework 分离与合并多种CPU架构,分离与合并模拟器与真机 如果你所用的framework支持真机和模拟器多种CPU架构,而你需要的是其中的一种或几种,那么可以可以从framewo ...
- angularjs指令系统系列课程(5):控制器controller
这一节我们来说一下controller这个参数 一.指令控制器的配置方法: 对于指令我有两种配置路由的方式:1.在html中直接引用,2,在指令的controller参数里定义 第一种:在html中直 ...
- linux下可执行程序的装载和启动
张雨梅 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-10000 1.c文件的编译 图中显示了c ...
- DBUTIL 调用存储过程例子
执行存储过程和执行select查询相比,无非就是SQL语句不同.下面是一个用存储过程查记录的例子.根据你的数据库不同和域对象不同,此代码要修改 Java code ? 1 2 3 4 5 Quer ...
- shell中三种引号的用法
1.单引号 所见即所得 例如:var=123 var2='${var}123' echo var2 var2结果为${var}123 2.双引号 输出引号中的内容,若存在命令.变量等,会先执行命令解析 ...
- Maven将依赖的所有jar包打成一个jar
有些特殊情况下,需要将多个jar包打包成一个jar文件.如果使用maven可以加入如下插件: <build> <plugins> <plugin> <arti ...