打造高效、可靠的代码- 单元测试入门指南!

打造高效、可靠的代码- 单元测试入门指南!一 单元测试是什么 单元测试 unit testing 是指对软件中的最小可测试单元进行检查和验证 在测试金字塔模型中处于最底层 整个金字塔模型代表着越上层的测试集成度越高 执行速度越慢 越下层的测试隔离性越好 执行越快越轻量 二

大家好,我是讯享网,很高兴认识大家。

单元测试入门篇
讯享网

一、单元测试是什么?

单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。在测试金字塔模型中处于最底层:

整个金字塔模型代表着越上层的测试集成度越高,执行速度越慢,越下层的测试隔离性越好,执行越快越轻量。

二、谁来做单元测试?

单元测试应该由开发人员来做?还是由测试人员来做?分析一下会发现两者都各有利弊:

开发人员做:

测试人员做:

实际工作中,推荐采用TDD模式,由测试人员先编写单元测试的测试用例,开发人员来进行实现。类似于结对编程方式,既保障了单元测试的覆盖率和测试质量,又保障了测试脚本编写的效率,也是测试左移的实践之一。

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。 如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受 可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛 分享他们的经验,还会分享很多直播讲座和技术沙龙 可以免费学习!划重点!开源的!!! 号:【暗号:csdn999】

讯享网

三、idea生成测试类的快捷键

Mac快捷键:cmd+shift+T,windows快捷键:Ctrl+Shift+T

点击OK,在项目的test目录下就会自动生成对应的单元测试类。

踩坑注意:

讯享网Junit运行时会碰到报错:No runnable methods 原因:自动生成的单元测试类,import的包是:import org.junit.jupiter.api.Test; 解决方法: 改为import org.junit.Test; 就不会报错了。 

四、单元测试的编码规范

单元测试的编码规范:

类名: 定义测试类,类名是由被测试类名Test构成。例如:BugServiceImplTest 包名: 定义的测试类需要放在xxx.xxx.xxx.test包中。例如:package com.demo.test; 方法名: 测试方法的方法名通常定义为test+测试方法名,或者直接叫测试方法名。例如:testAddBug和addBug都可以 返回值: 因为我们的方法只是在类中测试,可以独立运行,所以不需要处理任何返回值,所以这里使用void。例如:public void add(); @Test注解:测试方法上方加@Test注解来执行测试,只要是加该注解的方法,可以单独运行此方法来完成测试。 

五、单元测试入门实践

假设有一个CommonUtils类,里面提供了一个获取当前时间并转换为年月日时分秒格式的方法:

讯享网import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class CommonUtils { / * Date转换为字符串的时间 * @return time "2022-03-09 19:13:42" */ public static String getCurrentTime() { Date date = new Date(); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String time = formatter.format(date); return time; } } 

现在要对这个方法做单元测试,通过单元测试验证这个方法是否能正常转换输出时间。单元测试代码如下:

import com.test.utils.CommonUtils; import org.junit.Test; public class CommonUtilsTest { @Test public void dateTest(){ System.out.println("测试CommonUtils获取当前时间结果:"+CommonUtils.getCurrentTime()); } } 

单元测试输出结果:

可以看到该方法正常工作,说明方法代码没有问题,单元测试通过。

本篇文章主要介绍入门知识,单元测试更进一步的使用,将在我的下一篇文章中介绍:Service层代码单元测试以及单元测试如何Mock。

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走!

软件测试面试文档

在这里插入图片描述

小讯
上一篇 2025-02-07 11:35
下一篇 2025-01-11 12:18

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/32032.html