在线客服
扫描二维码
下载博学谷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的默认值。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
Spring Boot快速入门攻略 新手小白篇
Spring Boot是每个Java的学习者和开发者所必须要熟练掌握的内容,为什么这么说呢?当然是由于它优雅而又清楚简单的优势决定的。本篇文章主要是面向新手小白的Spring Boot快速入门攻略,会带大家快速认识spring boot,然后介绍它的优势和快速入门的具体操作步骤,感兴趣的朋友赶紧一起来看看吧!
8895
2019-11-27 14:20:22
Kafka开发分布发布订阅消息系统学习路线
Kafka开发分布发布订阅消息系统学习路线,Kafka是一种快速可扩展设计内在分布式,分区的和可复制的分布式发布-订阅消息系统,被数千家公司使用。可以帮助使用Apache Kafka消息传递系统或者大数据分析领域发展的IT程序员解决使用Kafka集群的问题。
5818
2019-12-18 11:21:40
Java程序员Dubbo面试题整理附答案
Dubbo作为国内最主流和常见的分布式服务框架,是Java程序员必须要熟练掌握的框架。虽然Consul正在崛起,但Dubbo又开始重新更新,因此目前市场上仍有不少公司使用Dubbo。在Java岗位的面试中,Dubbo更是会被经常问到的技术难点,因此无论你在哪家公司面试,都必须熟悉Dubbo的相关知识点。本文为大家整理了一些Java程序员常见的Dubbo面试题,并附上了参考答案,一起来做做吧!
7609
2020-04-15 17:19:27
同步代码块如何解决数据安全问题?
同步中的线程,没有执行完毕不会释放锁,同步外的线程没有锁进不去;同步保证了只能有一个 线程在同步中执行共享数据,保证了安全;程序频繁的判断锁,获取锁,释放锁,程序的效率会降低。
6507
2020-07-14 11:35:13
SpringCloud微服务架构需要学习哪些知识点?
Spring Cloud是一系列框架的有序集合。利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发。如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。
5964
2021-03-11 15:18:26
