Junit入门到掌握-9-JUnit高级-TestSuite和举例

2024-06-11 10:48

本文主要是介绍Junit入门到掌握-9-JUnit高级-TestSuite和举例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前面几篇介绍完了JUnit的基本功能和基本使用场景以及用法,一般来说,现在的开发都是一个人一个模块,如果一个开发,写一个业务代码的类,然后利用前面的知识是可以完成最基础的单元测试,起码证明他写的方法是可以通过单元测试,至少开发会做正向成功的用例。这篇开始来学习JUnit作为一个单元测试框架的高级部分,我们先从TestSuite开始。

 

1.测试套件 TestSuite

不要笑,我们先来学习下Suite这个单词的发音,很多人会自然地念成(shoot,例如休特(哈哈)),其实这个单词念swēt(Swei,类似这个发音)。

第一个特点,需要在这个class name之前一行添加上面两个注解

第二个特点,也是核心,TestSuite就是用来管理多个Junit Test Case。

 

2.举例练习

为了模拟多个测试类,我们在新建一个测试类,只写一个测试方法。

代码如下

package test;import static org.junit.Assert.assertEquals;import org.junit.Test;public class HelloJunitTest {@Testpublic void test() {assertEquals(5, "Hello".length());}
}

开始我们的TestSuite创建过程。右键包,选择new-other..-Junit Test Suite

自动帮我们导入上面提到两个Suite注解

package test;import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;@RunWith(Suite.class)
@SuiteClasses({ HelloJunitTest.class, TrackingServiceTests.class })
public class ProteinTrackerSuite {}

可以在这个代码中点击class名称,右键-run as Jnuit,或者在工程中右键这个xxxSuite.java文件,然后run as JUnit。

从这个图可以看到,两个被管理的TestCase中的JUnit用例都被执行了。试想一下,如果我管理好几十个这样class,每一个class都写十来个单元测试用例,那么这就是几百个单元测试用例,通过运行一个文件去执行几百个单元测试用例,也就是一条命令就可以实现,也就是可以放jenkins上做持续集成测试。如果TestSuite管理class很多,我们推荐这样格式去写suite文件。

package test;import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;@RunWith(Suite.class)
@SuiteClasses({ HelloJunitTest.class, TrackingServiceTests.class // 接着写其他被测单元测试类
})public class ProteinTrackerSuite {}

TestSuite就介绍到这里。

 

 

 

 

 

这篇关于Junit入门到掌握-9-JUnit高级-TestSuite和举例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1050956

相关文章

深度解析Python yfinance的核心功能和高级用法

《深度解析Pythonyfinance的核心功能和高级用法》yfinance是一个功能强大且易于使用的Python库,用于从YahooFinance获取金融数据,本教程将深入探讨yfinance的核... 目录yfinance 深度解析教程 (python)1. 简介与安装1.1 什么是 yfinance?

MySQL中REPLACE函数与语句举例详解

《MySQL中REPLACE函数与语句举例详解》在MySQL中REPLACE函数是一个用于处理字符串的强大工具,它的主要功能是替换字符串中的某些子字符串,:本文主要介绍MySQL中REPLACE函... 目录一、REPLACE()函数语法:参数说明:功能说明:示例:二、REPLACE INTO语句语法:参数

Kotlin 枚举类使用举例

《Kotlin枚举类使用举例》枚举类(EnumClasses)是Kotlin中用于定义固定集合值的特殊类,它表示一组命名的常量,每个枚举常量都是该类的单例实例,接下来通过本文给大家介绍Kotl... 目录一、编程枚举类核心概念二、基础语法与特性1. 基本定义2. 带参数的枚举3. 实现接口4. 内置属性三、

Java List 使用举例(从入门到精通)

《JavaList使用举例(从入门到精通)》本文系统讲解JavaList,涵盖基础概念、核心特性、常用实现(如ArrayList、LinkedList)及性能对比,介绍创建、操作、遍历方法,结合实... 目录一、List 基础概念1.1 什么是 List?1.2 List 的核心特性1.3 List 家族成

c++日志库log4cplus快速入门小结

《c++日志库log4cplus快速入门小结》文章浏览阅读1.1w次,点赞9次,收藏44次。本文介绍Log4cplus,一种适用于C++的线程安全日志记录API,提供灵活的日志管理和配置控制。文章涵盖... 目录简介日志等级配置文件使用关于初始化使用示例总结参考资料简介log4j 用于Java,log4c

史上最全MybatisPlus从入门到精通

《史上最全MybatisPlus从入门到精通》MyBatis-Plus是MyBatis增强工具,简化开发并提升效率,支持自动映射表名/字段与实体类,提供条件构造器、多种查询方式(等值/范围/模糊/分页... 目录1.简介2.基础篇2.1.通用mapper接口操作2.2.通用service接口操作3.进阶篇3

MySQL数据类型与表操作全指南( 从基础到高级实践)

《MySQL数据类型与表操作全指南(从基础到高级实践)》本文详解MySQL数据类型分类(数值、日期/时间、字符串)及表操作(创建、修改、维护),涵盖优化技巧如数据类型选择、备份、分区,强调规范设计与... 目录mysql数据类型详解数值类型日期时间类型字符串类型表操作全解析创建表修改表结构添加列修改列删除列

Python自定义异常的全面指南(入门到实践)

《Python自定义异常的全面指南(入门到实践)》想象你正在开发一个银行系统,用户转账时余额不足,如果直接抛出ValueError,调用方很难区分是金额格式错误还是余额不足,这正是Python自定义异... 目录引言:为什么需要自定义异常一、异常基础:先搞懂python的异常体系1.1 异常是什么?1.2

Python 函数详解:从基础语法到高级使用技巧

《Python函数详解:从基础语法到高级使用技巧》本文基于实例代码,全面讲解Python函数的定义、参数传递、变量作用域及类型标注等知识点,帮助初学者快速掌握函数的使用技巧,感兴趣的朋友跟随小编一起... 目录一、函数的基本概念与作用二、函数的定义与调用1. 无参函数2. 带参函数3. 带返回值的函数4.

javaSE类和对象进阶用法举例详解

《javaSE类和对象进阶用法举例详解》JavaSE的面向对象编程是软件开发中的基石,它通过类和对象的概念,实现了代码的模块化、可复用性和灵活性,:本文主要介绍javaSE类和对象进阶用法的相关资... 目录前言一、封装1.访问限定符2.包2.1包的概念2.2导入包2.3自定义包2.4常见的包二、stati