在线客服
扫描二维码
下载博学谷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 12 / JDK 12 正式发布有哪些新特性
Java 12 / JDK 12 正式发布有哪些新特性?具体变化有Shenandoah:低暂停时间的 GC(实验性功能)、Microbenchmark Suite等内容。
7491
2019-08-14 10:32:28
Java基础 ArrayList,Vector, LinkedList 的存储性能和特性是什么?
这样的题比较考水平,两个方面的水平:一是要真正明白这些内容,二是要有较强的总结和表述 能力。如果你明白,但表述不清楚,在别人那里则等同于不明白。
9427
2019-06-03 11:18:58
Java架构师入门学习知识点汇总
很多程序员也经常说,没有经验找不到靠谱的公司,找不到靠谱的公司无法积累项目经验,工作中遇到了瓶颈,那么选择IT在职培训是不错的选择,目前的Java架构师课程不仅讲基础的理论知识,还进行项目实战,边学边积累经验,打破没有项目经验的恶循环。
4067
2020-10-19 14:34:32
SpringCloud微服务架构需要学习哪些知识点?
Spring Cloud是一系列框架的有序集合。利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发。如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。
3537
2021-03-11 15:18:26
带你深度剖析Kafka架构知识点
带你深度剖析Kafka架构知识点,学习了解Kafka数据处理、Kafka 核心组件、broker和集群、Consumer与topic关系、Kafka消息的分发、Consumer的负载均衡开发技术。
2573
2022-04-11 11:52:32