Laravel 5.1 测试系列 —— PHPUnit 安装及简单单元测试示例 | 服务篇 | Laravel 5.1 基础教程


本站和网页 https://laravelacademy.org/post/2100.html 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

Laravel 5.1 测试系列 —— PHPUnit 安装及简单单元测试示例 | 服务篇 | Laravel 5.1 基础教程
Laravel 学院
文档
Laravel 8.x 中文文档
Laravel 7.x 中文文档
Laravel 6.x 中文文档
Laravel 5.8 中文文档
Laravel 5.7 中文文档
Laravel 5.6 中文文档
Laravel 5.5 中文文档
Laravel 5.4 中文文档
Laravel 5.3 中文文档
Laravel 5.2 中文文档
Laravel 5.1 中文文档
Lumen 中文文档
全栈教程
PHP 全栈工程师指南
PHP 入门到实战
Laravel 入门到精通
Vue.js 入门到实战
玩转 PhpStorm 教程
Laravel 博客入门项目
Laravel 微信小程序项目
Laravel 前后端分离项目
Swoole 入门到实战
Eloquent 性能优化实战
Redis 高性能实战系列
Laravel 新版本特性
PHP 新特性与最佳实践
Golang
Go 入门教程
Go Web 编程
Gin 使用教程
微服务开发
内功修炼
数据结构与算法
网络协议
微服务从入门到实践
高性能 MySQL 实战
高性能 Redis 实战
Laravel 消息队列实战
Laravel 从学徒到工匠
PHP 设计模式系列
名企面试指南
资源库
Laravel 资源大全
Laravel 开源项目
Laravel 扩展包
Laravel 资源下载
更多
博客 & 新闻
问答 & 讨论
Leetcode 题解
学院君读书笔记系列
关于 Laravel 学院
Laravel 互助学习群
Golang 互助学习群
更多
Laravel 中文文档
Laravel 全栈教程
Laravel 学习路径
Go 入门教程
程序员内功修炼
博客
问答
搜索
注册
登录
Info
Content
章节导航
Laravel 5.1 基础教程
目录索引
安装篇
3篇文章
在 Windows 中安装 Laravel 5.1.X
在 Windows 上进行 Laravel Homestead 安装、配置及测试
在 Laravel Homestead 中使用 Blackfire Profiler 对应用性能进行分析
基础篇
8篇文章
HTTP路由实例教程(一)—— 基本使用及路由参数
HTTP路由实例教程(二)—— 路由命名和路由分组
HTTP路由实例教程(三)—— CSRF攻击原理及其防护
中间件实例教程 —— 中间件的创建使用及中间件参数定义
HTTP控制器实例教程 —— 创建RESTFul风格控制器实现文章增删改查
HTTP 请求实例教程 —— 获取请求数据、Cookie及文件上传处理
HTTP响应实例教程 —— 基本使用、生成Cookie、返回视图、JSON/JSONP、文件下载及重定向
Laravel 视图实例教程 —— 在视图间共享数据及视图Composer
底层篇
4篇文章
Laravel 5.x 启动过程分析
Laravel 服务容器实例教程 —— 深入理解控制反转和依赖注入
Laravel 服务提供者实例教程 —— 创建 Service Provider 测试实例
Laravel 门面实例教程 —— 创建自定义 Facades 类
数据库篇
12篇文章
Laravel 数据库实例教程 —— 使用DB门面操作数据库
Laravel 数据库实例教程 —— 使用查询构建器对数据库进行增删改查
Laravel 数据库实例教程 —— 使用查询构建器实现对数据库的高级查询
Eloquent ORM 实例教程 —— ORM概述、模型定义及基本查询
Eloquent ORM 实例教程 —— 模型创建、更新及批量赋值
Eloquent ORM 实例教程 —— 模型删除及软删除相关实现
Eloquent ORM 实例教程 —— 查询作用域和模型事件
Eloquent ORM 实例教程 —— 关联关系及其在模型中的定义(一)
Eloquent ORM 实例教程 —— 关联关系及其在模型中的定义(二)
在 Laravel 框架之外使用数据库查询构建器及 Eloquent ORM
将 Sequel Pro 中已存在的数据表导出为 Laravel 迁移文件
将 MySQL Workbench 中已存在的数据表导出到 Laravel 迁移文件
服务篇
29篇文章
Laravel Spark 牛刀初试 —— 安装、设置及使用
Laravel 实例教程 —— 如何在Laravel 5.1中进行自定义包开发
Laravel 5.1用户认证(一) —— 使用Laravel内置组件快速实现注册登录
Laravel 5.1用户认证(二) —— 使用Laravel内置组件快速实现密码重置
Laravel 5.1用户认证(三) —— 使用Socialite实现GitHub登录认证
Laravel 5.1 中的ACL用户授权及权限检查功能实现教程
Laravel 5.1 中创建自定义 Artisan 控制台命令实例教程
Laravel 支付解决方案之 Laravel Cashier (一)—— 安装配置篇
Laravel 支付解决方案之 Laravel Cashier (二)—— 付费会员&分期付款&生成发票
Laravel 支付解决方案之如何使用支付宝进行支付
Laravel 支付解决方案之如何使用银联支付进行支付
Laravel 支付解决方案之如何使用微信支付进行支付
Laravel 缓存实例教程(一) —— 基于Memcached缓存驱动的配置
Laravel 缓存实例教程(二) —— 基于模型+缓存对文章增删改查进行优化
Laravel中运行Gulp任务的利器 —— Laravel Elixir简介及入门教程
如何在 Laravel 5.1 中使用 Laravel Elixir 集成安装 Bootstrap
Laravel Elixir 深入探究(一):Elixir配置选项、前端资源文件编译及合并
Laravel Elixir 深入探究(二):版本控制、测试套件、任务执行以及自定义任务和扩展
Laravel 5.1中 Redis 的安装配置及基本使用教程
Laravel 5.1 分页功能实现及如何自定义分页样式
Laravel 5.1 中的异常处理器和HTTP异常处理实例教程
基于 Laravel 集成的 Monolog 库对日志进行配置和记录
Laravel 5.1 定义事件、事件监听器以及触发事件实例教程
使用 Laravel 5.1 的文件系统对文件进行存储、移动和删除操作
使用 Laravel 5.1 内置的本地化功能轻松实现多语言支持
在 Laravel 5.1 中使用SMTP驱动实现邮件发送(含附件和图片)详细教程
Laravel 队列系列 —— 基于 Redis 实现任务队列的基本配置和使用
Laravel 5.1 中 Session 数据存储、访问、删除及一次性Session实例教程
Laravel 5.1 测试系列 —— PHPUnit 安装及简单单元测试示例
实战篇
2篇文章
使用 Laravel 纯手工打造一个简单的电子商务网站(一) —— 后台新增商品及前台显示
使用 Laravel 纯手工打造一个简单的电子商务网站(二) —— 用户认证及购物车功能实现
图书
Laravel 5.1 基础教程
服务篇
Laravel 5.1 测试系列 —— PHPUnit 安装及简单单元测试示例
Laravel 5.1 测试系列 —— PHPUnit 安装及简单单元测试示例
由 学院君 创建于7年前, 最后更新于 2年前
版本号 #2
23153 views
14 likes
0 collects
1、概述及配置
Laravel 中集成了PHPUnit进行单元测试,实际上,使用PHPUnit进行单元测试在Laravel中是开箱即用的,测试的配置文件为根目录下的phpunit.xml,该配置文件为我们做好了所有配置工作:
<?xml version="1.0" encoding="UTF-8"?>
<phpunit backupGlobals="false"
backupStaticAttributes="false"
bootstrap="bootstrap/autoload.php"
colors="true"
convertErrorsToExceptions="true"
convertNoticesToExceptions="true"
convertWarningsToExceptions="true"
processIsolation="false"
stopOnFailure="false"
syntaxCheck="false">
<testsuites>
<testsuite name="Application Test Suite">
<directory>./tests/</directory>
</testsuite>
</testsuites>
<filter>
<whitelist>
<directory suffix=".php">app/</directory>
</whitelist>
</filter>
<php>
<env name="APP_ENV" value="testing"/>
<env name="CACHE_DRIVER" value="array"/>
<env name="SESSION_DRIVER" value="array"/>
<env name="QUEUE_DRIVER" value="sync"/>
</php>
</phpunit>
testsuites中定义了测试文件存放路径为根目录下的tests目录。
filter中定义了需要进行单元测试的PHP文件存放位置。
php中配置了测试环境的环境变量,默认APP_ENV为testing,缓存驱动被设置为array,Session驱动被设置为array,队列驱动被设置为sync。
2、安装PHPUnit
使用Laravel的测试功能之前需要先安装PHPUnit,以Homestead虚拟机为例,安装步骤如下:
wget https://phar.phpunit.de/phpunit.phar
chmod +x phpunit.phar
sudo mv phpunit.phar /usr/local/bin/phpunit
然后查看PHPUnit的版本验证是否安装成功:
phpunit --version
3、使用PHPUnit实现简单测试
接下来我们使用Laravel提供的ExampleTest.php实现简单单元测试,首先我们修改tests目录下的ExampleTest.php文件如下:
<?php
use Illuminate\Foundation\Testing\WithoutMiddleware;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Illuminate\Foundation\Testing\DatabaseTransactions;
class ExampleTest extends TestCase
/**
* A basic functional test example.
* @return void
*/
public function testBasicExample()
$this->visit('/')
->see('Laravel学院');
其中visit方法用于访问指定路由页面,see方法则判断返回响应中是否包含指定字符串。
然后在routes.php中确保包含如下路由(如果没有的话添加该路由):
Route::get('/',function(){
return view('welcome');
});
访问http://laravel.app:8000/,页面显示如下内容:
然后到项目根目录下运行如下命令:
phpunit
输出结果如下:
表示测试通过。
接下来我们修改ExampleTest.php测试方法如下:
public function testBasicExample()
$this->visit('/')
->see('LaravelAcademy');
再次运行phpunit,则显示测试失败信息(部分截图):
......
测试结果会显示错误数目,错误位置及错误原因,方便我们快速定位错误并进行修复。
以上只是一个简单的测试示例,更多测试方法可查看Laravel测试文档。
Laravel
安装
配置
测试
PHPUnit
单元测试
点赞
取消点赞
收藏
取消收藏
赞赏
分享到以下平台:
<< 上一篇:
Laravel 5.1 中 Session 数据存储、访问、删除及一次性Session实例教程
>> 下一篇:
使用 Laravel 纯手工打造一个简单的电子商务网站(一) —— 后台新增商品及前台显示
6 条评论
#1
ADKi
评论于 6年前
正在删除评论...
这玩意是干嘛的 windows能用吗
#2
学院君
评论于 6年前
正在删除评论...
用于单元测试 可以
#3
123
评论于 6年前
正在删除评论...
(二)呢??
#4
小韦
评论于 5年前
正在删除评论...
感觉就是个鸡肋
#5
dajj
评论于 4年前
正在删除评论...
请问怎么只执行某个功能测试
#6
学院君
评论于 4年前
正在删除评论...
phpunit 后面跟上对应的文件路径
登录后即可添加评论
升级为学院君订阅用户(新年优惠🎁)
内容导航
1、概述及配置
2、安装PHPUnit
3、使用PHPUnit实现简单测试
相关推荐
在 Laravel Homestead 中使用 Blackfire Profiler 对应用性能进行分析
Laravel 5.1 基础教程
安装篇
Laravel 支付解决方案之 Laravel Cashier (一)—— 安装配置篇
Laravel 5.1 基础教程
服务篇
快速入门
Laravel 5.4 中文文档
测试系列
快速入门:集成 PHPUnit 编写测试用例
Laravel 5.5 中文文档
测试
快速入门
Laravel 5.6 中文文档
测试
回到顶部
2022 基于 Laravel 6 构建
关于学院
订阅服务
友情链接
站点地图
本站 CDN 加速服务由又拍云赞助