单元测试使用记录

什么是单元测试

简单来说就是对一个类中的方法进行测试,对输出的结果检查判断是否符合预期结果

但是在多年的工作中,从来没有哪个项目中真正系统的用到了单元测试,因此对它还是很陌生的,也就造成更加不会在项目中区使用它。

如何使用

以前不使用单元单元测试,是因为觉得没有必要:既然单元测试是对方法输入不同参数,然后对输出进行判断。那么方法本身也必定已经对不同参数进行过判断和不同处理,才会有不同的输出,那么在单元测试代码中再进行一次参数判断,不是重复劳动吗,这么做有什么意义呢?

经过学习后才明白,之所以有上面的错误理解,是弄错了单元测试代码的编写时机和方式。

首先,单元测试代码是在被测试类和方法建立之前就要先建立的。之后,根据单元测试代码去建立被测试类,一步步编写被测试方法。方法中每实现一个测试,就运行对应的测试方法验证,直到所有的测试方法都被验证通过,方法就完成了。这就是所谓的:测试驱动开发。

其次,单元测试中,对与一个方法的测试并不是放在一个测试方法中的,每个测试方法只对一组参数的返回结果进行断言。

比如,当被测试方法中有5条执行路径时,就有5个对应的测试方法。测试方法的名称根据要断言的路径不同命名,这就是所谓的:单元测试可以作为代码文档使用

理解了上面的概念后,就等于掌握了单元测试的核心思想。

接口测试、功能测试、验收测试

使用单元测试时,我们一般会使用相应的框架。框架中除了单元测试外,一般还包含接口测试、功能测试、验收测试等功能。这些测试的使用思想和单元测试是一致的,只不过是测试对象有所不同。

接口测试,是使用框架中组件,模拟浏览器行为,请求接口的url地址,对返回结果进行断言

功能测试,是使用框架中组件,模拟浏览器行为,对某个前端页面进行点击,并对跳转和返回结果进行断言。

验收测试,是调用真实的浏览器内核,对某个前端页面进行点击,并对跳转和返回结果进行断言。

目前来说功能测试和验收测试对后端程序员不再适用。

因为现在应用基本都是前后端分离,后端只需要做好接口测试即可

codeception 在yii2中的基本使用

相关推荐
lifewange7 小时前
接口测试案例从哪些维度去设计
单元测试·ab测试
测试19981 天前
cmake应用:集成gtest进行单元测试
自动化测试·软件测试·python·测试工具·职场和发展·单元测试·测试用例
双力臂4042 天前
Spring Boot 单元测试进阶:JUnit5 + Mock测试与切片测试实战及覆盖率报告生成
java·spring boot·后端·单元测试
超浪的晨3 天前
Java 单元测试详解:从入门到实战,彻底掌握 JUnit 5 + Mockito + Spring Boot 测试技巧
java·开发语言·后端·学习·单元测试·个人开发
安卓开发者4 天前
Android 测试全指南:单元测试与UI测试框架详解
android·ui·单元测试
人生在勤,不索何获-白大侠6 天前
day24——Java高级技术深度解析:单元测试、反射、注解与动态代理
java·开发语言·单元测试
飞鸟_Asuka9 天前
SpringBoot集成测试笔记:缩小测试范围、提高测试效率
java·单元测试·集成测试·springboot
一只特立独行的猫9 天前
单元测试学习+AI辅助单测
人工智能·学习·单元测试
ezreal_pan10 天前
巧用 Golang 函数特性实现单元测试中的数据库操作 Mock
开发语言·后端·golang·单元测试·函数