[ Laravel从入门到精通 ] 测试系列 —— 通过测试驱动开发构建待办任务项目(一):后端接口和功能测试篇

本来打算写一篇通过 Laravel Dusk 测试前端 Vue 组件的教程,转念一想不如玩把大的,直接基于 Laravel + Vue 构建一个前后端分离的待办任务列表项目,然后在开发过程中通过功能测试用例测试后端 API 接口,通过浏览器测试用例测试前端 Vue 组件与后端的交互,同时引入数据库测试对增删改查进行测试,从而完成一个简单的、相对完整的测试驱动开发项目。 构建应用 创建新项...

[ Laravel从入门到精通 ] 测试系列 —— 在 Laravel 中基于 Dusk 实现浏览器自动化测试快速入门

简介 我们前面介绍的单元测试和功能测试都是基于 PHPUnit 的,PHPUnit 作为一个 PHP 测试框架功能很强大,但是只能用于测试后端接口和功能,无法模拟浏览器端行为测试基于 JavaScript 的前端应用。 为此,Laravel 为浏览器测试提供了一个官方扩展包 —— Laravel Dusk,该特性是在 Laravel 5.4 引入的,之前版本使用的是 Symfony Br...

Leetcode PHP题解--D33 700. Search in a Binary Search Tree

700. Search in a Binary Search Tree 题目链接 700. Search in a Binary Search Tree 题目分析 从给定的二叉树中,查找指定值及其子节点。 思路 这个好像不用多说什么了吧…按先序遍历搜索,找到则返回。 没有则返回NULL。 最终代码 ...

Leetcode PHP题解--D32 617. Merge Two Binary Trees

617. Merge Two Binary Trees 题目链接 617. Merge Two Binary Trees 题目分析 给定两个二叉树,返回一个 将对应位置值相加后的二叉树。 例如,树A的顶点值为1,树B的顶点值为2,那么返回的二叉树的顶点值需要是3。 思路 顶点自然不用多说,直接相加就可以了。 按照习惯,先遍历左节点。如果树A和树B都有左节点,那么直接相加,再递归当前函数去...

Leetcode PHP题解--D31 965. Univalued Binary Tree

965. Univalued Binary Tree 题目链接 965. Univalued Binary Tree 题目分析 如果二叉树中所有节点的值都相同,那么该二叉树被称为单值二叉树。 当给定的二叉树是单值二叉树时返回true,否则返回false。 思路 思路比较简单,把值存入全局变量数组中,再对数组的值去重。判断该数组长度是否为1即可。 最终代码 ...

Leetcode PHP题解--D30 728. Self Dividing Numbers

728. Self Dividing Numbers 题目链接 728. Self Dividing Numbers 题目分析 如果一个数字能被其中的每一位整除,那么这个数字被称为自整除数。 例如,数字128。128%1==0、128%2==0、128%8==0。均能整除。 自整除数不能包含数字0(毕竟0不能作为被除数)。 思路 首先,小于10的数都能被每一位整除。因为只有1位,自己能整...

Leetcode基础刷题之PHP解析(198. House Robber Easy)

这是一道和盗窃有关的题目,挺有意思的.大致是说,数组中的每一个数代表着每栋房子的钱,小偷可以随意偷哪栋房子,但是如果相邻的房子被偷的话,那么就会触发报警器,也就是求在不触发报警器的情况下最多能偷多少钱....