[ Laravel从入门到精通 ] 测试系列 —— 基于 Coding + Jenkins 实现 Laravel 项目的持续集成

前面两篇教程我们陆续介绍了基于 Github 代码仓库集成 CircleCI 和 Travis CI 实现 Laravel 项目的持续集成,今天我们继续介绍如何通过 Jenkins 实现类似的自动构建和测试。 相较于前两种持续集成系统,Jenkins 没有在 Github Marketable 上提供第三方应用,我们日常使用的话通常需要自己在独立服务器上安装并进行运维,你可以参考官方文档...

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

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

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

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

[ Laravel从入门到精通 ] 测试系列 —— 在 Laravel 中基于 PHPUnit 进行代码测试:HTTP 测试篇(下)

我们继续在上一篇教程的基础上演示如何编写 HTTP 功能测试用例。 测试用户认证 Session 除了用于存储一次性验证错误信息和用户会话状态外,最主要的用途就是维护用户认证的状态,在 Laravel 中,可以通过框架提供的一系列断言方法对用户认证状态进行测试。 我们基于 Laravel 框架提供的认证脚手架中的路由进行测试,如果你还没有在测试项目中生成认证脚手架代码,运行如下 Arti...

[ Laravel从入门到精通 ] 测试系列 —— 在 Laravel 中基于 PHPUnit 进行代码测试:HTTP 测试篇(上)

底层实现 上一篇教程我们介绍了在 Laravel 框架中如何基于 PHPUnit 编写单元测试,其实单元测试基本上使用的都是 PHPUnit 框架提供的原生方法,今天我们来看下 Laravel 如何基于 PHPUnit 实现 HTTP 功能测试。 Laravel 框架开箱为我们提供了一个功能测试用例示例 tests/Feature/ExampleTest.php: <?php n...

[ Laravel从入门到精通 ] 测试系列 —— 在 Laravel 中基于 PHPUnit 进行代码测试:单元测试篇

简介 介绍完 PHPUnit 的基本使用和 Laravel 框架自带的编排文件 phpunit.xml 文件,今天开始我们正式准备在 Laravel 项目中基于 PHPUnit 编写单元测试和功能测试,通过上篇教程介绍的编排文件我们知道,Laravel 的单元测试用例位于 tests/Unit 目录下,框架本身也为我们提供了一个示例测试文件 ExampleTest.php: ...

[ Laravel从入门到精通 ] 测试系列 —— 在 Laravel 中基于 PHPUnit 进行代码测试:目录结构及测试编排文件 phpunit.xml 详解

目录结构 Laravel 框架基于 PHPUnit 提供了开箱即用的测试功能,对代码测试的支持非常有好: 以 Laravel 5.8 为例,在框架初始化过程中通过 Composer 安装了 PHPUnit 7(也可以手动升级到 PHPUnit 8),并且在项目根目下创建了 tests 目录用于存放测试文件: 在该目录中包含的 Unit 和 Feature 子目录下存放的测试用例分别用...

[ Laravel从入门到精通 ] 测试系列 —— 从基于 PHPUnit 编写单元测试开始

为什么要测试 我们知道,Laravel 框架开箱提供的测试功能是基于 PHPUnit 实现的,PHPUnit 是 PHP 语言中最负盛名的单元测试框架。在介绍 Laravel 框架提供的测试功能之前,我们先从源头 PHPUnit 开始,聊聊如何在 PHP 框架中实现单元测试。 即使是很小规模的项目开发也需要数小时的辛苦编码。在开发过程中,应用代码中或多或少都会存在一些大大小小的问题,开发...

[ Laravel 5.8 文档 ] 测试系列 —— 数据库测试

简介 Laravel 提供了多个有用的工具让测试数据库驱动的应用变得更加简单。首先,你可以使用辅助函数 assertDatabaseHas 来断言数据库中的数据是否和给定数据集合匹配。例如,如果你想要通过 email 值为 xueyuanjun@laravelacademy.org 的条件去数据表 users 查询是否存在该记录 ,我们可以这样做: public function tes...