单元测试使用记录

什么是单元测试

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

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

如何使用

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

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

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

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

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

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

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

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

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

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

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

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

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

codeception 在yii2中的基本使用

相关推荐
小熊出擊17 小时前
【pytest】fixture 内省(Introspection)测试上下文
python·单元测试·pytest
小熊出擊2 天前
【pytest】finalizer 执行顺序:FILO 原则
python·测试工具·单元测试·pytest
xjf77112 天前
Nx项目中使用Vitest对原生JS组件进行单元测试
javascript·单元测试·前端框架·nx·vitest·前端测试
杨小熊的笔记3 天前
final字段单元测试
单元测试·log4j
seabirdssss8 天前
针对单元测试、集成测试、系统测试和验收测试(用户测试)各自的目标和测试内容不同,设计对应的各类测试用例
单元测试·测试用例·集成测试
tianyuanwo8 天前
构建质量的堡垒:一文读懂单元测试、集成测试、系统测试与回归测试
单元测试·集成测试·系统测试·回归测试
小熊出擊10 天前
[pytest] 一文掌握 fixture 的作用域(scope)机制
python·功能测试·单元测试·自动化·pytest
程序员二黑10 天前
告别硬编码!5个让Web自动化脚本更稳定的定位策略
面试·单元测试·测试
小熊出擊11 天前
[pytest] autouse 参数:自动使用fixture
python·测试工具·单元测试·自动化·pytest
知识分享小能手11 天前
React学习教程,从入门到精通,React 单元测试:语法知识点及使用方法详解(30)
前端·javascript·vue.js·学习·react.js·单元测试·前端框架