[ Laravel 5.8 文档 ] 测试系列 —— 模拟

简介 测试 Laravel 应用的时候,你可能还想要“ 模拟 ”应用的特定状态,以便在测试中不让它们真的执行。例如,测试触发事件的控制器时,你可能想要模拟事件监听器以便它们不在测试期间真的执行。这样的话你就可以只测试控制器的 HTTP 响应,而不必担心事件监听器的执行,因为事件监听器可以在它们自己的测试用例中被测试。 Laravel 开箱为模拟事件、任务以及门面提供了辅助函数,这些辅助函...

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

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

[ Laravel 5.8 文档 ] 测试系列 —— 浏览器测试

简介 Laravel Dusk 提供了优雅的、易于使用的浏览器自动测试 API。默认情况下,Dusk 不强制你在机器上安装 JDK 或 Selenium,取而代之地,Dusk 基于独立安装的 ChromeDriver。不过,你可以使用任意其他兼容 Selenium 的驱动。 注:Selenium 是一套 Web 应用自动化测试系统,运行 Selenium 测试就像你在浏览器中操作一样;...

[ Laravel 5.8 文档 ] 测试系列 —— 控制台测试

简介 除了简化 HTTP 测试外,Laravel 还为测试需要用户输入的控制台应用提供了简单的 API。 期望输入/输出 Laravel 允许你使用 expectsQuestion 方法为控制台命令轻松「模拟」用户输入,此外,你还可以使用 assertExitCode 和 expectsOutput 方法指定控制台命令退出码和期望输出的文本。例如,考虑下面这个控制台命令: Artisan...

[ Laravel 5.8 文档 ] 测试 —— 快速入门

简介 Laravel 植根于测试,实际上,内置使 PHPUnit 对测试提供支持是开箱即用的,并且 phpunit.xml 文件已经为应用设置好了。框架还提供了方便的辅助方法允许你对应用进行优雅的测试。 默认情况下,tests 目录包含了两个子目录:Feature 和 Unit,分别用于功能测试和单元测试,单元测试专注于小的、相互隔离的代码,实际上,大部分单元测试可能都是聚焦于单个方法。...

[ Laravel 从入门到精通 ] 用户认证与授权系列 —— 基于 CAS 实现通用的单点登录解决方案(二):CAS 客户端搭建及单点登录测试

上篇教程学院君给大家介绍了 CAS 单点登录原理以及 CAS Server 端搭建,这篇教程我们书接上篇,着手客户端测试应用搭建和完整单点登录流程演示。 客户端配置 首先我们创建两个用于单点登录测试的客户端 Web 应用 testapp 和 otherapp(如果对应应用之前已经存在,则无需重复创建),下面我们以 testapp 为例,进行初始化配置和演示,otherapp 依葫芦画瓢即...

[ Laravel 从入门到精通 ] 用户认证与授权系列 —— 通过 Passport 实现 API 请求认证:沙箱测试篇(私人访问令牌)

还有一种获取访问令牌的方式叫做私人访问令牌。这种授权方式比较特殊,不需要授权码,也不需要用户输入登录凭证,而是用户给自己颁发访问令牌。这种授权方式在用户测试、体验平台提供的认证 API 接口时非常方便,比如微信开放平台和支付宝开发平台都有沙箱测试模式,在这种测试模式下获取授权令牌的方式其实就是通过私人访问令牌来实现的。 下面我们就来简单演示下如何使用私人访问令牌获取令牌访问认证 API。...

基于 Laravel 5.7 开发博客应用系列(一) —— 创建项目和测试驱动开发

注:本项目基于 Laravel 5.7 开发,本地环境是 Mac + Laradock。在开始此项目之前,假设你已经熟悉从入门到精通系列中的所有 Laravel 环境配置和功能特性,如果有任何不清楚的地方,也可以随时翻阅该系列教程以及 Laravel 文档了解细节。 1、创建博客项目 首先,在本地通过 Composer 安装一个全新的 Laravel 项目 blog57: compos...

[ Laravel 从入门到精通 ] 命令行交互:通过 Tinker 实现 Laravel 命令行交互式 Shell

REPL 与 PsySH Laravel 自带了一个功能强大的 REPL —— Tinker,所谓 REPL,是 Read–Eval–Print-Loop 的缩写,这是一种交互式 Shell:获取用户输入并执行它们,然后将结果打印出来返回给用户。 在原生 PHP 中,我们也可以使用类似的交互式 Shell,通过 php -a 命令即可: 此外,还可以通过 PsySH 实现,相较于原生的...