laravel下phpunit的使用

文档参考:

https://laravel.p2hp.com/cndocs/10.x/testing

https://blog.csdn.net/Attitude_do_it/article/details/122713203

测试说明

默认情况下,你应用程序的 tests 目录下包含两个子目录:FeatureUnit

单元测试Unit )是针对你的代码中非常少,而且相对独立的一部分代码来进行的测试。实际上,大部分单元测试都是针对单个方法进行的。在你的 Unit 测试目录中进行测试,不会启动你的 Laravel 应用程序,因此无法访问你的应用程序的数据库或其他框架服务。

功能测试Feature)能测试你的大部分代码,包括多个对象如何相互交互,甚至是对 JSON 端点的完整 HTTP 请求。 通常,你的大多数测试应该是功能测试。这些类型的测试可以最大程度地确保你的系统作为一个整体按预期运行

创建测试

默认是是创建功能测试的,这个会创建一个UserTest的类,默认情况下,将其放置在 tests/Feature 目录中:

c 复制代码
php artisan make:test UserTest

如果想在 tests/Unit 目录中创建一个测试,你可以在执行make:test 命令时使用 --unit 选项:

c 复制代码
php artisan make:test UserTest --unit

执行测试命令

1、在phpstrom中执行

执行结果:

2、使用artisan

格式:php artisan test --filter 方法名 测试文件路径

php artisan test --filter testMysql tests/Unit/ExampleTest.php

3、直接使用phpunit命令

bash 复制代码
vendor/bin/phpunit

注意:

  1. 在使用phpstrom创建的单元测试,一定是要继承 tests/TestCase.php类,不能去继承 PHPUnit\Framework\TestCase,不然是不能使用缓存,数据配置的。因为tests/TestCase.php使用了 CreatesApplication组合,他可以像web一样的来使用
  2. 在项目根目录下的phpunit.xml文件中,这一行要注释掉,让其使用.env文件中默认的缓存文件。要不然也会是用不了缓存。
xml 复制代码
<env name="CACHE_DRIVER" value="array"/>
相关推荐
DigitalOcean9 天前
Laravel 开发者已在 DigitalOcean 上开通超过 10 万台服务器
前端·laravel
两个人的幸福11 天前
Windows 桌面应用自研 PHP 队列(下):完整代码与六大工程化优化
php
BingoGo13 天前
PHP 泛型之殇 泛型 RFC 提案被拒绝
后端·php
JaguarJack13 天前
PHP 泛型之殇 泛型 RFC 提案被拒绝
后端·php
用户30745969820714 天前
PHP 扩展——从入门到理解
php
鹏仔先生15 天前
拷贝漫画APP下载页PHP程序,后台带免费AI写作
php
云水一下15 天前
从零开始学 PHP 系列(一):PHP 的前世今生与开发环境搭建
开发语言·php
xingpanvip15 天前
星盘接口开发文档:本命盘接口指南
android·开发语言·css·php·lua
酉鬼女又兒15 天前
零基础入门计算机网络运输层:端到端通信核心作用、端口号分类规则、复用分用工作机制及UDP与TCP协议全方位对比详解
网络·网络协议·tcp/ip·计算机网络·考研·udp·php
dog25015 天前
不要再继续优化 TCP
网络协议·tcp/ip·php