在线客服
扫描二维码
下载博学谷APP扫描二维码
关注博学谷微信公众号
JUnit 测试原理介绍与应用,JUnit是一个单元测试框架,使用注解的形式来指定需要测试的方法。JUnit测试其实就是执行一个类中的方法,且仅用于测试,称之为测试类,使用 @Test 注解标注。
1、JUnit测试是什么?
JUnit是一个Java语言的单元测试框架。它由Kent Beck和Erich Gamma建立,逐渐成为源于Kent Beck的sUnit的xUnit家族中最为成功的一个。 JUnit有它自己的JUnit扩展生态圈。多数Java的开发环境都已经集成了JUnit作为单元测试的工具。
JUnit是由Erich Gamma 和 Kent Beck 编写的一个回归测试框架。JUnit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何完成功能和完成什么样的功能。JUnit是一套框架,继承TestCase类,就可以用JUnit进行自动测试了。
JUnit测试类似于c语言中的调试,只不过那个调试是通过设置断点分隔代码来进行测试;而java中的JUnit则是通过分开测试不同的类和方法实现的。
2、JUnit运行环境
JUnit可以通过ide实现快捷的测试,我这里使用的是eclipse,在需要测试的类那里添加 new-other-java-JUnit即可进行测试。这里采用的是JUnit4进行调试,最新的JUnit版本为JUnit5.关于这两种版本的区别,最显着的区别是在支持版本上的区别:java4支持java5及以上的版本,而java5则只支持java8以上的版本。
3、JUnit命名约定
JUnit 测试有几个潜在命名约定。一种广泛的解决方案就是在测试类的名字末尾添加 “Test” 后缀。
作为一般的规则,每个测试方法的名称应该明确说明当前的测试任务。如果该测试方法正确地完成了,就避免了再去实际代码中查看实现逻辑。
还有一种约定就是在测试方法名称中使用“should"。例如,"ordersShouldBeCreated"或者”menuShouldGetActive"。这样就可以提示我们这个测试方法都做了什么。另一种方法是用“Given[ExplainYourInput]When[WhatIsDone]Then[ExpectedResult]”来作为测试方法的名字。
4、测试执行顺序
JUnit假定所有的测试方法都可以按任意的顺序执行。质量高的测试代码不应该假定任何的顺序,就是说,一段测试代码不能依赖其他的测试代码。
在JUnit4.11中,默认使用的是确定的但不可预测的顺序来执行测试的(As of JUnit 4.11 the default is to use a deterministic, but not predictable, order for the execution of the tests.)
当然你可以使用注解的方式来定义测试方法的名称以字典顺序排序。如果想开启此功能,需要使用@FixMethodOrder(MethodSorters.NAME_ASCENDING)注解标注这个测试类,你也可以通过设置MethodSorters.DEFAULT参数来明确使用默认值。也可以使用MethodSorters.JVM明确它使用JVM的默认值。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
Java开发中静态变量和实例变量的区别是什么?
Java开发中静态变量和实例变量的区别是什么?在语法定义上的区别:静态变量前要加 static 关键字,而实例变 量前则不加。
7844
2019-05-24 14:16:01
ServiceComb技术点教程哪里有?
博学谷的ServiceComb教程讲解概念及应用,ServiceComb 作为Apache开源组织下的一款微服务框架,其前身为华为云的微服务引擎 CSE云服务。学习后能够使用华为公司提供的微服务解决方案,解决微服务开发基本问题。
6207
2019-11-11 18:20:29
Apollo分布式部署学什么?掌握到什么程度?
Apollo分布式部署学习,程序员需要掌握配置中心的核心概念及使用场景,熟悉主流配置中心,掌握Apollo的工作原理、安装方法、项目管理、配置管理、集群管理、配置发布、生产环境的部署、灰度发布等核心知识点
4114
2020-02-20 15:54:59
SpringMVC注解解析
今天我们要来梳理的是请求映射注解@RequestMapping。相信大家对SpringMVC注解并不陌生,下面就来让我们一起来解析SpringMVC注解的内容吧,包括SpringMVC注解的概念和属性、mvc命名空间引入和组件扫描。
4368
2020-04-30 10:03:02
Java类隔离加载实现原理是什么?
Java类隔离加载实现原理: JVM 提供一个全局类加载器的设置接口,直接替换全局类加载器,但无法解决多个自定义类加载器同时存在的问题。然而JVM会选择当前类的类加载器来加载所有该类的引用的类。
4990
2020-12-31 14:10:07