网站首页 > java教程 正文
Junit4入门之单元测试Junit介绍
前面连续讲了好几章的单元测试背景、介绍、原则,但是始终没有提及我们本次学习的核心:Junit。
这是因为我在给大家强化一个概念:单元测试不等于Junit。
单元测试和Junit是包含关系,切勿直接将它们两者画上等号。
1.个人理解单元测试的好处
网上有很多对单元测试的分析,细数了它具有多少优点,以及哪些企业非常关注它等等。。
但是对于我来说,就没有那么多想法了,我的想法很简单,在我看来测试自己的代码是必要的。如果有人连自己写的代码测都不测一下就敢拿出去给别人用,那只能是两个极端了,极端的牛和极端的菜。并且考虑到大环境,这个人是牛的可能性就太低了,基本上就是菜。。
虽然我之前很少用过单元测试,但是我也会反复用postman去自测,确保一定没有问题后,才敢拿出去给别人用自己的接口。
而现在通过了解了单元测试后,我认为它既可以帮助我们更好的了解需求,也可以更好的测试我们的代码是否有问题,而且只要第一次写好了以后都可以一键测试,极大的节省了我们后续的开发测试成本。
另外如果以后要进行功能测试(并非单元测试,而是整体测试的一种类型),同样也是用Junit完成的。所以现在学会单元测试,提升junit的使用经验是十分必要的。
2.关于Junit
而对于Junit,它的大名我想大家就算没用过,也应该听过了,它是java中最出名也使用最广泛的单元测试框架。
通过使用Junit,可以帮助我们快速进行单元测试,快速编写好测试代码,让我们不再需要手写个测试类然后加个main方法这种土方法去写测试代码了。还可以和maven集成使用,让整个单元测试流程自动化执行。随时编写随时运行,测试结束后还能自动生成测试报告,统计查看测试代码的覆盖率、成功率等。
虽然前面我说到单元测试并不等于Junit,但是Junit基本上现在已经是java程序员进行单元测试的标配框架了,几年内恐怕都不会有其他框架有能力超越它。
Junit目前已经更新到5.x了,通常我们也是使用4.x或5.x。因为公司的依赖库中只有4.13,所以本文先使用Junit4的版本,5版本相较还是有些改动的,有些注解也有变化,如果要切换版本使用需要注意一下兼容性。
下一篇,我们就正式开始使用Junit的了,请大家准备好开发环境:JDK8、IDEA,这个系列不会讲解其他安装环境或运行环境,只针对Junit进行讲解与学习,所以这些环境只能大家自己准备好了。
猜你喜欢
- 2024-10-05 单元测试-(单元测试能发现约80的软件缺陷)
- 2024-10-05 五分钟技术趣谈 | Java常用的单元测试框架介绍
- 2024-10-05 「SpringBoot」 单元测试利器-Mockito
- 2024-10-05 如何使用Python进行单元测试(python单元测验答案)
- 2024-10-05 如何用TestNG进行java单元测试?(java中的test检测)
- 2024-10-05 干货篇-错过一次 错过一年!单元测试之Junit
- 2024-10-05 万字长文:一文详解单元测试干了什么
- 2024-10-05 一台不容错过的Java单元测试代码“永动机”
- 2024-10-05 新的单元测试工具已到位,Java程序员还不快来尝尝新?
- 2024-10-05 Java JUnit单元测试(java的单元测试)
你 发表评论:
欢迎- 最近发表
-
- 你真的会用 Java 中的线程池吗?多个企业级线程池工具类封装实践
- 线程池的实现原理、优点与风险、以及四种线程池实现
- Java线程池ThreadPoolExecutor实现原理剖析
- 深入分析线程池的实现原理(线程池是干嘛的)
- 一文搞懂JAVA线程池工作原理(java线程池的工作流程)
- Java线程池的工作原理(java线程池的实现原理)
- 5分钟读懂C#中TcpClient、TcpListener和Socket三个类的角色
- JVM对象的创建过程(jvm运行过程中创建的对象一般存放在方法区)
- 对象组成与Java内存模型JMM分析(java对象在内存中存储的结构)
- JVM对象内存分配详细过程(栈上分配->TLAB->老年代->Eden区)
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)