检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
单元测试是软件质量的重要保证。在 Github 上挑选一款软件,单元测试覆盖率是评价软件成熟度的一个重要指标。通常成熟可靠的开源产品都有完善的单元测试,并且覆盖率可以达到 80% 以上。
在代码编写阶段,建议只对重点功能进行测试,没必要一定追求过高的测试覆盖率,因为前期过度地测试也会提高开发成本,拖慢开发进度。 到目前为止,已经把组件库的测试框架搭好了。
提高单元测试覆盖率的策略 单元测试是软件开发过程中的一个重要环节,它帮助我们确保代码的正确性、稳定性和可维护性。然而,在实际开发过程中,由于时间、人力和技术限制,单元测试的覆盖率可能并不高。那么,如何提高单元测试的覆盖率呢?本文将介绍一些有效的策略。 1.
业务开发完成之后,开发人员做单元测试,单元测试完成之后,保证单元测试全部通过同时单元测试代码覆盖率达到一定程度(这个需要开发和测试约定,理论上越高越好),开发提测。 2. 测试人员根据测试用例进行测试(包括手工测试和自动化测试),结合git获取本次变动代码的覆盖率信息。
理论在《持续交付》里,在讨论测试覆盖率指标的时候,书里有这么一段话“指出测试覆盖率包括单元测试、组件测试和验收测试,每一种测试都应该覆盖应用程序的80%(我们并不认同60%的单元测试覆盖率加上20%的验收测试覆盖率就等于80%的覆盖率这一天真的想法)”现实我接触的绝大多数的客户,都是用的书里的天真的覆盖率算法
这些要求可以包括以下内容:代码编译通过、单元测试覆盖率达标、代码静态检查某类型告警等。
单元测试能够在很短的时间内,展示出你的代码是否达到了预期的运行结果。如果单元测试覆盖率非常高,那么,你就可以在很短的时间内,检查正在开发的系统的所有组件是否运行正常。
时常有人会将单元测试覆盖率作为代码可靠性的硬性指标,强迫开发者为了覆盖而覆盖,这是不可取的做法,已经违背了单元测试的初衷。 框架 本人主要使用junit4编写单元测试,用的比较顺手,也有部门大佬建议使用junit5比较好。
缺乏单元测试 sonar可以很方便地统计并展示单元测试覆盖率。 7. 糟糕的设计 通过sonar可以找出循环,展示包与包、类与类之间的相互依赖关系,可以检测自定义的架构规则:通过sonar可以管理第三方的jar包,可以利用LCOM4检测单个任务规则的应用情况,检测藕合。
sonar可以很方便地统计并展示单元测试覆盖率 糟糕的设计 通过sonar可以找出循环,展示包与包、类与类之间相互依赖关系,可以检测自定义的架构规则 通过sonar可以管理第三方的jar包,可以利用LCOM4检测单个任务规则的应用情况, 检测耦合。
用户 ID = @UserId_0) 单元测试覆盖率(150+ 单元测试) 一、Dapper-Extensions的使用 1.安装包 Install-Package DapperExtensions 2.使用方法 Person类 public class Person
在命令行模式下,在工程的根目录下键入命令“sonar-scanner”,你会看到以下日志:运行 sonar-scanner接着,重新登录 SonarQube 平台,检测的结果已经在平台上展现出来从上图你可以看出来,连单元测试覆盖率的统计也生成出来了,主要原因为在该
在命令行模式下,在工程的根目录下键入命令“sonar-scanner”,你会看到以下日志: 运行 sonar-scanner 接着,重新登录 SonarQube 平台,检测的结果已经在平台上展现出来 从上图你可以看出来,连单元测试覆盖率的统计也生成出来了,主要原因为在该maven项目之前已经集成了
在命令行模式下,在工程的根目录下键入命令“sonar-scanner”,你会看到以下日志: 运行 sonar-scanner 接着,重新登录 SonarQube 平台,检测的结果已经在平台上展现出来 从上图你可以看出来,连单元测试覆盖率的统计也生成出来了,主要原因为在该maven项目之前已经集成了
在命令行模式下,在工程的根目录下键入命令“sonar-scanner”,你会看到以下日志:运行 sonar-scanner接着,重新登录 SonarQube 平台,检测的结果已经在平台上展现出来从上图你可以看出来,连单元测试覆盖率的统计也生成出来了,主要原因为在该
在命令行模式下,在工程的根目录下键入命令“sonar-scanner”,你会看到以下日志: 运行 sonar-scanner 接着,重新登录 SonarQube 平台,检测的结果已经在平台上展现出来 从上图你可以看出来,连单元测试覆盖率的统计也生成出来了,主要原因为在该maven项目之前已经集成了
在命令行模式下,在工程的根目录下键入命令“sonar-scanner”,你会看到以下日志: 运行 sonar-scanner 接着,重新登录 SonarQube 平台,检测的结果已经在平台上展现出来 从上图你可以看出来,连单元测试覆盖率的统计也生成出来了,主要原因为在该maven项目之前已经集成了
5M1E中的“法”意味着研发团队要足够重视代码规范:不论是命名规范、格式规范、日志规范,还是单元测试覆盖率,都是保证代码质量的有利武器。同时,看到烂代码也应“ 大胆重构,小心测试”。
在命令行模式下,在工程的根目录下键入命令“sonar-scanner”,你会看到以下日志: 运行 sonar-scanner 接着,重新登录 SonarQube 平台,检测的结果已经在平台上展现出来 从上图你可以看出来,连单元测试覆盖率的统计也生成出来了,主要原因为在该maven项目之前已经集成了
Quality–在格式,未使用的导入,变量和单元测试覆盖率方面,主要关注代码质量。这是一个自动化工具,可以自动处理所有拉取请求。这样可以确保合并之前的质量。9、Crucible来自Atlassian公司的Crucible是用于管理代码质量的有趣的协作工具。