如何编写单元测试代码

简介: 一、为什么要单测 - 帮助发现代码缺陷 - 将发现缺陷的时间提前 - 提高产品提测质量,减少后续测试周期 - 可以覆盖所有代码分支、业务逻辑 - 单测可重复使用,减少后续测试成本 - 运行速度快,不依赖其它服务或代码 - 可以mock各种数据二、单测简介 - 何为单测: 单元测试就是用代码测试目标代码的过程。

一、为什么要单测

 - 帮助发现代码缺陷

 - 将发现缺陷的时间提前

 - 提高产品提测质量,减少后续测试周期

 - 可以覆盖所有代码分支、业务逻辑

 - 单测可重复使用,减少后续测试成本

 - 运行速度快,不依赖其它服务或代码

 - 可以mock各种数据

二、单测简介

 - 何为单测:
   单元测试就是用代码测试目标代码的过程。单测针对的是最小单元代码,可以是一个方法,一个类,一个功能点

 - 单测时间:
   开发初期,与开发代码设计并行

 - 单测人员:
   最熟悉代码的人(就目前而言,建议开发)

三、开发工具的使用

image

image

四、编写单测代码

如何编写单测,我们将通过以下简单示例进行分解说明,先看下如下目标代码:

image

首先,我们要理解目标对象逻辑,根据目标逻辑,设计我们的测试场景

  • 目标代码业务逻辑:
    传入的2个参数,首先判断除数,除数=0,则抛出异常;除数≠0,则进行除法运算,并返回商
  • 目标代码理解后,就可以根据其业务逻辑和代码分支,来设计我的单测场景:

    1. 传参正确(被除数=10,除数=5) ,则返回商
    2. 传参中除数=0 (被除数=10,除数=0) ,则抛出异常

其次,就可以针对前面设计的单测场景,编写如下代码,检验目标代码功能是否与预期一致了
image

以下,对这份单测代码的每条语句进行具体的分析

image
image
image

image
image
image
image
image
image

五、运行和调试测试

image

相关文章
|
20天前
|
测试技术 API 数据库
Django测试入门:打造坚实代码基础的钥匙
Django测试入门:打造坚实代码基础的钥匙
31 3
|
7天前
|
测试技术 持续交付
软件测试的艺术:追求卓越的代码之旅
在软件的世界中,测试不仅仅是一项任务,它是一场精心编排的舞蹈,旨在确保每一个步伐都准确无误。本文将带您踏上一场探索软件测试之美的旅程,从基础理论到实践技巧,我们将一同揭开高效测试的秘密,并分享那些能让代码更健壮、更可靠的智慧精华。
15 2
|
12天前
|
测试技术 Go
写出高质量代码的秘诀:Golang中的测试驱动开发(TDD)
写出高质量代码的秘诀:Golang中的测试驱动开发(TDD)
|
4天前
|
自动驾驶 测试技术 持续交付
软件测试的艺术:追求卓越的代码之旅
在软件开发的海洋中,测试是那艘不可或缺的航船,它带领我们驶向质量的彼岸。本文将带你领略软件测试的重要性,探讨如何通过创造性思维和系统方法提升测试效率与效果。我们将从测试基础出发,逐步深入到高级策略,最终实现测试的艺术化,确保软件产品能在复杂多变的环境中稳健航行。
|
5天前
|
Java 测试技术
单元测试问题之想通过单元测试来驱动代码的设计与重构,如何实现
单元测试问题之想通过单元测试来驱动代码的设计与重构,如何实现
|
5天前
分享一份 .NET Core 简单的自带日志系统配置,平时做一些测试或个人代码研究,用它就可以了
分享一份 .NET Core 简单的自带日志系统配置,平时做一些测试或个人代码研究,用它就可以了
|
5天前
|
存储 Kubernetes 测试技术
阿里云块存储问题之生产代码与测试代码需要同步原子提交如何解决
阿里云块存储问题之生产代码与测试代码需要同步原子提交如何解决
16 0
|
5天前
|
敏捷开发 安全 测试技术
软件测试的艺术:从代码到信心
在数字世界的舞台上,软件如同演员,而测试则是它们精彩表演的彩排。本文将带您穿梭于软件测试的幕后,揭示那些让软件从笨拙的初稿变成流畅的终演的魔法。我们将探索测试的多面性,从基础的单元测试到复杂的集成测试,再到用户面前的系统测试,每一步都旨在确保软件的优雅舞步不会因缺陷而绊倒。文章还将点亮持续集成的灯塔,指引船只安全航行,并展示自动化测试如何像忠实的伙伴一样,不断给予支持。最后,我们将探讨测试策略的选择艺术,如何在多变的需求与资源之间找到平衡点。让我们一起走进软件测试的世界,体验这场从代码到信心的旅程。
|
27天前
|
监控 搜索推荐 机器人
开发与运维数据问题之LangChain帮助提升GPT-4的实用性的如何解决
开发与运维数据问题之LangChain帮助提升GPT-4的实用性的如何解决
27 1
|
1月前
|
Devops jenkins 测试技术
如何在Visual Basic项目中实施单元测试以确保代码健壮性
【7月更文挑战第2天】本文探讨了如何在Visual Basic项目中实施单元测试以确保代码健壮性。单元测试基础包括验证代码单元的功能,促进重构和提高代码质量。MSTest、NUnit和xUnit是VB.NET的单元测试工具。遵循TDD原则,保持测试独立,关注单一功能,并确保快速执行。示例展示了如何为`Calculator`类的加法方法编写MSTest。持续集成与自动化测试工具如Jenkins和Azure DevOps辅助测试运行和代码质量检查。单元测试是提升软件质量和开发效率的关键实践,反映了良好的开发文化。
33 2