关于测试集,实质就是包含若干个测试类的集合,通过一个具体的实例,让我们来了解一下Junit的测试集

  1. package org.yezi.junit;
  2. public class Calcaute {
  3. public int ride(int a, int b){
  4. return a * b;
  5. }
  6. public int add(int a, int b){
  7. return a + b;
  8. }
  9. public int reduce(int a, int b){
  10. return a - b;
  11. }
  12. }
  1. package org.yezi.junit;
  2. import org.junit.Test;
  3. import static org.junit.Assert.*;
  4. public class TestAdd {
  5. @Test
  6. public void testAdd(){
  7. Calcaute calcaute = new Calcaute();
  8. int result = calcaute.add(80, 20);
  9. assertEquals(100, result);
  10. }
  11. }
  1. package org.yezi.junit;
  2. import org.junit.Test;
  3. import static org.junit.Assert.*;
  4. public class TestReduce {
  5. @Test
  6. public void testReduce(){
  7. Calcaute calcaute = new Calcaute();
  8. int result = calcaute.reduce(80, 20);
  9. assertEquals(60, result);
  10. }
  11. }
  1. package org.yezi.junit;
  2. import org.junit.Test;
  3. import static org.junit.Assert.*;
  4. public class TestRide {
  5. @Test
  6. public void testRide(){
  7. Calcaute calcaute = new Calcaute();
  8. int result = calcaute.ride(80, 20);
  9. assertEquals(1600, result);
  10. }
  11. }
  1. package org.yezi.junit;
  2. import org.junit.Test;
  3. import org.junit.runner.RunWith;
  4. import org.junit.runners.Suite;
  5. import org.junit.runners.Suite.SuiteClasses;
  6. import static org.junit.Assert.*;
  7. @RunWith(value=Suite.class)
  8. @SuiteClasses(value={
  9. TestAdd.class, TestReduce.class, TestRide.class})
  10. public class TestAllRunner {
  11. @Test
  12. public void testAdd(){
  13. Calcaute calcaute = new Calcaute();
  14. int result = calcaute.add(10, 20);
  15. assertEquals(20, result);
  16. }
  17. }

其中,Calcaute.java是我们的业务代码;TestAdd.java、 TestReduce.java、TestRide.java是三个测试类;TestAllRunner.java是一个测试运行器。

在TestAllRunner.java中我们使用@RunWith(value=Suite.class)注解声明该类是一个测试集;
使用@SuiteClasses(value={TestAdd.class, TestReduce.class, TestRide.class})声明该测试集所包含的测试类,运行结果正常通过。

但是我们在TestAllRunner.java声明的一个测试却没有运行(因为这个测试应该不能通过的),这是因为我们并没有把TestAllRunner.java声明到测试集中,通过修改测试集声明

  1. @SuiteClasses(value={
  2. TestAdd.class, TestReduce.class, TestRide.class, TestAllRunner.class})

我们可以让TestAllRunner.java中的测试也一起运行

转载:http://blog.csdn.net/yezis/article/details/43120867

Junit核心——测试集(TestSuite)的更多相关文章

  1. Junit核心——测试类(TestCase)、测试集(TestSuite)、测试运行器(TestRunner)

    首先,把这三个定义简单的说明一下: 1.测试类(TestCase):一个包含一个或是多个测试的类,在Junit中就是指的是包含那些带有@Test注解的方法的类,同一样也被称作“测试用例”; 2.测试集 ...

  2. JUit——(三)JUnit核心对象(测试、测试类、Suit和Runner)

    JUnit的核心对象:测试.测试类.测试集(Suite).测试运行器 1. 测试: @Test注释的.公共的.不带有任何参数.并且返回void类型的方法 2. 测试类: 公共的,包含对应类的测试方法的 ...

  3. Junit 测试集(打包测试)实例

    测试集,直译过来的意思就是把测试集合起来,再详细一些就是把多个单元测试集合起来 .单元测试可以理解为:单个接口 或者单个类/方法 的测试 项目背景:测试基于spring开发的项目代码 实例模板:pac ...

  4. Junit初级编码(二)探索JUnit核心

    序,Junit测试是单元测试的一个框架,提供了很多方法,供我们快速开展单元测试.现在就让我们慢慢学习Junit单元测试框架 一.Junit的三个核心概念测试类.测试集.测试运行器 1 测试类 公共的, ...

  5. JUnit提供测试框架的优势(JUnit Provides Advantages as a Test Framework)

    测试Java类的内部功能就是刚才你做的那些工作了.真正的测试和刚才的简单例子的主要区别是代码库的大小和复杂度.在处理一大堆代码时,你会需要收集情况报告.但上面的例子遇到第一个错误就停止了,它没有收集尽 ...

  6. python实例编写(6)--引入unittest测试框架,构造测试集批量测试(以微信统一管理平台为例)

    ---恢复内容开始--- 一.python单元测试实例介绍 unittest框架又叫PyUnit框架,是python的单元测试框架. 先介绍一个普通的单元测试(不用unittest框架)的实例: 首先 ...

  7. redis安装、测试&集群的搭建&踩过的坑

    1 redis的安装 1.1   安装redis 版本说明 本教程使用redis3.0版本.3.0版本主要增加了redis集群功能. 安装的前提条件: 需要安装gcc:yum install gcc- ...

  8. unittest之suite测试集(测试套件)

    suite 这个表示测试集,不要放在class内,否则会提示"没有这样的测试方法在类里面 ",我觉得它唯一的好处就是调试的时候可以单独调试某个class而已,我一般不用它,调试时可 ...

  9. robot framework中如何为每个测试用例,测试集准备数据或销毁数据

    Suite Setup:在这个测试集的所有测试用例开始测试之前运行(类似于junit的@BeforeClass) Suite Teardown:在这个测试集的所有测试用例结束之后运行(类似于junit ...

随机推荐

  1. 在LoadRunner中转换字符串大小写的C语言函数

    在LoadRunner中转换字符串大小写的C语言函数 . loadrunner语言ccharacterstringaction 封装ConvertToXXX函数: //ConvertToUpper f ...

  2. Eclipse中快速 打出 main方法的签名

    有时,我们创建一个空白类,需要打出main方法 public static void main(String [] args){ } 在Eclipse先敲main字符,然后按住ALT+/,再按回车即可 ...

  3. Java使用Redis初探

    Redis的相关概念不做介绍了,大家也可以先了解下Memcached,然后比较下二者的区别,就会有个整体的印象. 服务器端通常选择Linux , Redis对于linux是官方支持的,使用资料很多,需 ...

  4. 洛谷—— P1598 垂直柱状图

    P1598 垂直柱状图 题目描述 写一个程序从输入文件中去读取四行大写字母(全都是大写的,每行不超过72个字符),然后用柱状图输出每个字符在输入文件中出现的次数.严格地按照输出样例来安排你的输出格式. ...

  5. Codeforces Round #274 (Div. 2) Riding in a Lift(DP 前缀和)

    Riding in a Lift time limit per test 2 seconds memory limit per test 256 megabytes input standard in ...

  6. 30、Flask实战第30天:cms模版抽离和个人信息页面完成

    cms模版抽离 新建一个cms_base.html文件作为基础模板,把cms_index.html的内容拷贝到cms_base.html中. 编辑 cms_base.html,把在不同页面会变动的部分 ...

  7. JDBC 编程

    DAO设计 没有使用DAO存在的问题:多个地方都要都同时做CRUD操作时,重复的代码就会很多. DAO:Data Access Object(数据存取对象). 位于业务逻辑和持久化数据之间,实现对持久 ...

  8. [BZOJ1305][CQOI2009]跳舞(网络流)

    1305: [CQOI2009]dance跳舞 Time Limit: 5 Sec  Memory Limit: 162 MBSubmit: 3944  Solved: 1692[Submit][St ...

  9. JZYZOJ1502 [haoi2008]下落的圆盘 计算几何 贪心

    http://172.20.6.3/Problem_Show.asp?id=1502这种题用了快一天才写出来也是真的辣鸡.主要思路就是计算一下被挡住的弧度然后对弧度进行贪心.最开始比较困扰的是求弧度值 ...

  10. hdu 4747 Mex( 线段树? 不,区间处理就行(dp?))

    Mex Time Limit: 15000/5000 MS (Java/Others)    Memory Limit: 65535/65535 K (Java/Others)Total Submis ...