Java单元测试入门指南

举报
hw_Administrator 发表于 2022/08/04 23:56:06 2022/08/04
【摘要】 本文主要是本人对单元测试的一些浅显理解,欢迎批评指正......

前言

单元测试是对功能模块中最小可测试单元的逻辑进行检查和验证的工作。一般开发者在进行功能需求的设计和开发时,就会同步的将该模块的单元测试一同编写完成,保证该模块的功能稳定性。

单元测试是后端的软件测试手段之一,可以大幅降低维护和扩展功能时的成本。在持续迭代的敏捷开发模式中,单元测试的重要性尤为突出,很好的保证了每次版本出口的高质量。

不仅如此,开发者在对功能架构重构时,单元测试及测试数据可以帮助开发者快速理解代码逻辑的预期输入输出,也降低了重构成本。

规范

单元测试并不是按照个人兴趣随意构造的,要有针对性的覆盖功能。

首先单元测试是针对代码中单独的一个功能逻辑(即最小可测试单元)进行构造。一个单元测试方法中只能调测一个功能。

其次要关注测试的必要性。不是所有代码都必须用单元测试覆盖,例如单纯只是传入参数调用方法的逻辑是没有增加单元测试的必要的。

最后不要太在意单元测试的覆盖率。时常有人会将单元测试覆盖率作为代码可靠性的硬性指标,强迫开发者为了覆盖而覆盖,这是不可取的做法,已经违背了单元测试的初衷。

框架

本人主要使用junit4编写单元测试,用的比较顺手,也有部门大佬建议使用junit5比较好。看个人选择

首先新建maven工程,在pom文件中引入junit4三方件:
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.1</version>
</dependency>
在src目录下新建test文件夹,标识为单元测试模块:
image.png

新建单元测试类:
image.png

@BeforeClass
@Before
@Test 单元测试方法注解。增加注解后方法可单独调试。
@After
@AfterClass

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。