当前位置: 首页 > news >正文

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 目录中:

php artisan make:test UserTest

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

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命令

vendor/bin/phpunit

注意:

  1. 在使用phpstrom创建的单元测试,一定是要继承 tests/TestCase.php类,不能去继承 PHPUnit\Framework\TestCase,不然是不能使用缓存,数据配置的。因为tests/TestCase.php使用了 CreatesApplication组合,他可以像web一样的来使用
  2. 在项目根目录下的phpunit.xml文件中,这一行要注释掉,让其使用.env文件中默认的缓存文件。要不然也会是用不了缓存。
<env name="CACHE_DRIVER" value="array"/>
http://www.lryc.cn/news/606197.html

相关文章:

  • Web开发-PHP应用Cookie脆弱Session固定Token唯一身份验证数据库通讯
  • 分享低功耗单火线开关语音识别方案
  • Python 程序设计讲义(49):组合数据类型——字典类型:字典的方法
  • Linux/Ubuntu 系统中打开火狐firefox、chromium浏览器失败
  • 33.【.NET8 实战--孢子记账--从单体到微服务--转向微服务】--单体转微服务--财务服务--记账
  • Python Day20 os模块 和 文件操作 及 例题分析
  • 智能文本抽取技术:精准识别、定位并提取出关键信息
  • 学以致用——用Docker搭建ThinkPHP开发环境
  • linux线程互斥和同步
  • 在处理大数据列表渲染时,React 虚拟列表是提升性能的关键技术,但在实际实现中常遇到渲染抖动和滚动定位偏移等问题。
  • 大语言模型信息抽取系统解析
  • Tomcat,WebLogic等中间件漏洞实战解析
  • C++异常处理的成本:理解与优化
  • MySQL转PostgreSQL迁移实战:从语法错误到完美兼容
  • AI学习笔记三十三:基于Opencv的单目标跟踪
  • vue3 v-html绑定数据,点击sub实现popover效果
  • STM32 USB 设备中间件 tinyusb
  • 超宽带测距+测角+无线通信一体化模组:智能门锁、智能遥控器、AR头戴、智能穿戴
  • 融媒体中心网络安全应急预案(通用技术框架)
  • Vmvare虚拟机的网络不可达问题
  • Spring Boot 异常处理:从全局捕获到优化用户体验!
  • 爱心烟花浪漫立方体轮播图 - 用代码表达爱意
  • 为Github Copilot创建自定义指令/说明/注意事项
  • 决策树实现回归任务
  • 基于Spring Boot实现中医医学处方管理实践
  • 【Agent,智能,workflow】
  • 【RH134 问答题】第 13 章 运行容器
  • uvicorn 启动重复加载 多次加载
  • [12月考试] B
  • Python 数据科学与可视化工具箱 (一) - 数组属性:`shape`, `dtype`, `ndim`, `size`