课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
单元测试是我们在学习软件测试的时候会接触到的一个概念,同时也是基本的测试方法之一,今天我们就一起来了解一下单元测试的概念与类型。
什么是单元测试
概念解释
单元测试是针对一个工作单元设计的测试。这里的工作单元一般是指对一个方法的一个要求。
单元测试优点
我们可以集中精力针对于一个特定的工作单元进行测试,排除其它逻辑干扰,使编写测试更加容易。如果测试失败,也能很快锁定哪里出现缺陷。
单元测试的特征
与其它代码隔离:单元测试代码不影响其它代码,需建立独立项目文件;
与其他开发人员隔离:每个开发人员编写的单元测试不互相干扰;
有针对性:单元测试是针对一个特定的工作单元编写的;
可重复:单元测试可以重复运行,并且保证每次结果都正确;
可预测:能够确定方法输入X,将返回Y。
阻碍开发人员编写单元测试可能的原因
大部分公司即使要求编写单元测试也是先写业务代码,再编写测试代码去测试。由于开发人员水平不齐,业务代码不能保证质量,可能导致难以测试。我收集了经常遇到一些阻碍测试的问题。
依赖其它类
业务逻辑没有返回值,直接影响数据库或者其它
业务逻辑复杂,需要很多验证
其它外部资源:数据库、文件、配置、缓存等
当然还有很多情况阻止着我们编写单元测试。解决的办法遵循三个点:
一是编写业务代码严格执行单一职责原则;
二是面向接口编程,使用依赖注入;
三是利用工具模拟外部资源。
我们总将一些静态资源封装成静态类,当这些类也参与业务逻辑,那么就会影响编写单元测试。比如:架构组将操作Redis的库编写成静态类,如果执行测试将会影响Redis数据。令人头疼的是,基本上所有的免费框架都不支持Mock静态类。目前,我采取的方法是使用JustMock的付费功能。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。