首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Laravel 6.10 版本发布,支持 PHPUnit 9,为 PHP 8 留下后手

Laravel 开发团队昨天发布了 v6.10 版本,本次版本发布包含 11 个新特性以及大量问题修复、功能废弃和代码优化,另外,还引入了对 PHPUnit 9 支持。...支持 PHPUnit 9 从 v6.10 开始,Laravel 开始支持 PHPUnit 9,可以通过完整 pull request 查看实现细节:https://github.com/laravel...至于为什么要引入 PHPUnit 9,主要原因是 PHP 8.0、8.1、8.2 或者 8.3 中将很有可能不再支持 PHPUnit 8,而 Laravel 6 是 LTS 版本,我们希望它可以支持最新版本...Redis 连接支持定义宏方法 和 Laravel 框架中其他支持 macro 方法一样,现在可以在 Redis Connection 上调用 macro 定义宏方法: use Illuminate...-6.x.md#v6100-2020-01-07,此外,你还可以在 Github 对比 6.9.0 和 6.10.0 版本差异:https://github.com/laravel/framework

2.5K30

使用PHPUnit进行单元测试并生成代码覆盖率报告方法

测试覆盖率检测对象是我们业务代码,PHPUnit通过检测我们编写测试用例调用了哪些函数,哪些,哪些方法,每一个控制流程是否都执行了一遍来计算覆盖率。...这需要理解 PHPUnit 执行测试用例工作流程。 我们没有办法在不同测试方法中通过某成员属性来传递数据,因为每个测试方法执行都是新建一个测试对象,然后调用相应测试方法。...PHPUnit则为我们提供了全面的hook接口: public static function setUpBeforeClass()/tearDownAfterClass()//测试构建/解构时调用...#测试基境构建 setUpBeforeClass #new一个测试对象 #第一个测试用例 setUp assertPreConditions assertPostConditions tearDown...#测试基境解构 tearDownAfterClass 所以我们可以在测试构建时使用setUpBeforeClass创建一个 App\Example 对象作为测试静态成员变量(tearDownAfterClass

1.6K31
您找到你想要的搜索结果了吗?
是的
没有找到

【PHP 随记】—— laravel 目录结构分析

{database 目录} :包含数据填充和迁移文件以及模型工厂,还可以把它作为 SQLite 数据库存放目录。...database |-- factories |-- migrations |-- seeders factories:存放一些工厂模式需要用一些文件; migrations:迁移,存放是迁移文件(...\textbf{tests 目录} :包含自动化测试文件,其中默认已经提供了一个开箱即用 PHPUnit 示例;每一个测试都要以 Test 开头,可以通过 phpunit 或 php vendor/...bin/phpunit 命令来运行测试。...(10) \textbf{vendor 目录} :主要是存放第三方库文件;laravel 思想主要是共同开发,不要重复造轮子(例如,里面可能存在验证码,上传,邮件),该目录还存放 laravel

3.3K10

Laravel 6.12.0 版本发布,支持从扩展包加载模型工厂

Laravel 开发团队本周发布了 6.12.0 版本,此次更新支持从扩展包加载模型工厂,通过 dump 函数测试 Session 数据,以及很多其他新特性。...下面我们一起来看下其中比较重要一些新特性: 1、重要特性 1)从扩展包加载模型工厂Laravel 6.12 中,你可以在扩展包中直接使用已经存在模型工厂,而不需要重新创建它们,方法是在服务提供者中引入对应包含模型工厂文件...createMany() 新增了一个工厂方法 createMany() 用于通过自定义数据创建多条记录: // Laravel 6.12 版本之前需要这么做 factory(User::class)-...factory(User::class)->createMany([ ['name' => 'Taylor'], ['name' => 'John'], ]); 你可以在 Github 查看完整新特性列表和更新记录...新增 ServiceProvider::loadFactoriesFrom() 方法 新增 TestResponse::dumpSession() 方法 新增 Str::isUuid() 方法 恢复对 PHPUnit

75210

基于 PHPStorm 编辑器 Laravel 开发

学习主题 本文主要涉及以下几个技巧: Composer初始化 Laravel IDE Helper安装 Laravel Plugin安装 PHPStorm对Laravel框架支持 PHPStorm...4、使用PHPUnit单元测试Laravel程序 首先需要在本地安装下PHPUnit: wget https://phar.phpunit.de/phpunit.phar chmod +x phpunit.phar...Configuration file指向本地phpunit.xml.dist文件,该文件是用来配置phpunit测试套件,可以看官网中文版:用 XML 配置来编排测试套件,比如本人这里套件配置...> 在写好PHPUnit测试后,可以在终端执行phpunit命令就行,或者单独执行某个测试,可以在测试里右键选择Run xxxTest.php就行,如: ?...,并可以在本地修改病Upload到服务器,而不用在Terminal中登录到远程服务器,在Terminal查看修改东西。

3.6K80

Dependency Injection 和 Service Locator

说起 IoC,其实是 Inversion of Control 缩写,翻译成中文叫控制反转,不得不说这个名字起得让人丈二和尚摸不着头脑,实际简而言之它意思是说对象之间难免会有各种各样依赖关系,如果我们代码直接依赖于具体实现...如果在非工厂对象内部使用容器,那么就属于 Service Locator。 之所以排除工厂对象是因为它是一种特殊对象,它关注是创建对象,而不是操作对象,具体解释可以参考 Paul M....说到这里,我想顺带提一下 Laravel Facade 概念,它是一种 Service Locator 语法糖,原理可以参考:How Laravel Facades Work and How to...BTW:Laravel Facade 实际有误导之嫌,详见:Let’s Talk About Facades。...实际它们各有各优缺点,比如说 Dependency Injection 解耦更彻底,而 Service Locator 使用更直接。

43630

Laravel5.3之PHP反射(Reflection) ()

说明:Laravel中经常使用PHP反射特性来设计代码,本文主要学习PHP反射特性,来提高写代码时设计质量。...,大小写不敏感 } 写个PHPUnit测试下(爆绿灯,说明是正确,这里不截图了。...(private,protected,public)是否存在于指定对象或名中,Laravel中很多处用到了这个函数,如Application中register()检查service provider...,目前Laravel中还没用到这个函数,传入可以是子类对象或者子类名,写个PHPUnit测试下: // namespace MyRightCapital\Container\Tests;...,和is_subclass_of()有点类似,只是is_a()还可以判定是不是该类对象,is_a()类似于instanceof操作符,Laravel中还没用到这个方法,这里写个PHPUnit测试,爆绿灯

2.1K41

掌握 Laravel 测试方法

这篇文章我们主要研究 Laravel 框架测试方法。 或许你还不知道,Laravel 内核早已继承了 PHPUnit 单元测试组件。...不过本篇我们假定你已经对 PHPUnit 测试框架有了基本了解,所以让我们把焦点放到 Laravel 中使用 PHPUnit 进行测试这个主题中。...单元测试 一节我们搭建了用于测试环境。本节我们会在 Laravel 中编写单元测试用例对 Post 模型进行测试。 幸运是,Laravel 同样为我们提供了创建测试用例模版文件命令工具。...在 Laravel 项目中运行 PHPUnit 测试用例,仅需在项目更目录执行下面的命令。 $ phpunit 这个命令会运行项目中所有测试用例。...测试中断言会以标准 PHPUnit 输出显示在控制台。 总结 今天,我们探讨了 Laravel 内置测试组件 PHPUnit 测试用例实现方法。

5.7K10

玩转 PhpStorm 系列(十二):单元测试篇

PHP 生态有很多测试框架,其中最流行的当属 PHPUnit,我们还是以 Laravel 项目为例,在 PhpStorm 中演示如何通过 PHPUnit 对 PHP 项目进行单元测试。...对指定目录、、方法运行测试 Laravel 自带测试演示位于项目根目录下 tests 子目录中。在 PhpStorm 中,该目录会被自动标记为绿色,表示是测试目录: ?...在 PhpStorm 中基于 PHPUnit 进行单元测试很简单,PhpStorm 已经内置了通过本地 PHPUnit 运行测试用例支持(Laravel 项目初始化时候已经安装了 phpunit 依赖...要对指定文件进行测试,还可以在打开该文件代码编辑区域任意位置右键,选择运行该文件测试代码: ? 或者在声明该测试所在行左侧点击绿色运行测试图标进行测试: ?...Laravel 自带 phpunit.xml(位于项目根目录下)中已经包含了这个配置: <whitelist processUncoveredFilesFromWhitelist

2.4K30

创建并运行一个新 Laravel 项目

database:存放数据库迁移和填充文件 public:Web 应用入口目录,用于存放入口文件 index.php 及前端资源文件(CSS、JS、图片等) resources:用于存放与非 PHP...Mix Webpack 配置文件,用于编译和打包前端资源 package.json:配置前端资源依赖和脚本(类似于 composer.json 之于 PHP) phpunit.xml:PHPUnit...-allow-unrelated-histories git push 这样,就可以在 Github 看到刚刚提交代码了: ?...5、测试 Laravel 开箱提供了基于 PHPUnit 进行单元测试和功能测试功能,并且为我们做好了基础配置(phpunit.xml)和示例代码(位于 tests 目录下),由于本节并没有编写任何代码.../vendor/bin/phpunit 测试结果通过: ? 注:我们后续教程将以这篇教程创建 blog 项目为基础,且访问域名为 http://blog.test,后面不再重复声明这一点。

6.8K30

Laravel5.3之Container源码解析

说明:本文主要学习Laravel中Container源码,主要学习Container绑定和解析过程,和解析过程中依赖解决。分享自己研究心得,希望对别人有所帮助。...实际Container绑定主要有三种方式:bind(),singleton(),instance(),且singleton()只是一种'shared' = truebind(),这些已经在Laravel...开发环境: Laravel5.3 + PHP7 + OS X 10.11 PHPUnit测试下绑定 在聊解析过程前,先测试下\Illuminate\Container\Container中绑定源码,这里测试下...关于在PHPStorm中配置PHPUnit可参考这篇:Laravel学习笔记之基于PHPStorm编辑器Laravel开发 make()源码解析 从以上testcase知道,make()是负责从Container...这一切Container是怎么做到?实际并不复杂,解决依赖只是用了PHPReflector反射机制来实现

1.4K21

Laravel5.3之Container源码解析

说明:本文主要学习Laravel中Container源码,主要学习Container绑定和解析过程,和解析过程中依赖解决。分享自己研究心得,希望对别人有所帮助。...实际Container绑定主要有三种方式:bind(),singleton(),instance(),且singleton()只是一种'shared' = truebind(),这些已经在Laravel5.3...开发环境: Laravel5.3 + PHP7 + OS X 10.11 PHPUnit测试下绑定 在聊解析过程前,先测试下\Illuminate\Container\Container中绑定源码,这里测试下...可参考这篇:Laravel5.2之基于PHPStorm编辑器Laravel开发 make()源码解析 从以上testcase知道,make()是负责从Container中解析出service,而且在...实际并不复杂,解决依赖只是用了PHPReflector反射机制来实现

4.4K51

PHPUnit 手册【笔记】

编写测试 1.基本惯例与步骤: * 针对Class测试写在ClassTest中 * ClassTest(通常)继承自PHPUnit\Framework\TestCase * 测试都是命名为test...使用了数据供给器测试,其运行结果是无法注入到依赖于此测试其他测试中 6.所有的数据供给器方法执行都是在对setUpBeforeClass静态方法调用和第一次对setUp方法调用之前完成。...()模板方法,setUpBeforeClass()和tearDownAfterClass()模板方法将分别在测试用例第一个测试运行之前和测试用例最后一个测试运行之后调用 4.在setUp()中分配了诸如文件或套接字之类外部资源时才需要实现...--configuration,将自动从此文件中读取配置 /5_1test/phpunit.xml 六、有风险测试 1.PHPUnit可以更严格对待事实不测试任何内容测试,可以用命令行--report-useless-tests...2.getMockForAbstractClass()方法返回一个抽象仿件对象,给定抽象所有抽象方法都被模仿 D.对Web服务(Web Services)进行桩或模仿 1.使用getMockFromWsdl

1.7K40

Laravel系列7.9】测试

在这里,也希望大家尽量能找规模大一些,开发比较正规公司,类似的这种开发模式或测试相关知识也能够学习到更多。 运行测试 Laravel 测试组件,主要也是依赖于 PHPUnit 单元测试组件。...vendor/bin/phpunit 不过它报告格式是原始 PHPUnit 格式,在 Laravel 框架中,我们更推荐是使用是框架自带一个测试命令。.../MyDoc/博客文章/LearnLaravel/learn-laravel/phpunit.xml' '--printer=NunoMaduro\Collision\Adapters\Phpunit\...不是说随便一个方法都要进行单元测试,最需要测试其实是核心业务逻辑相关一些功能函数或者方法。...首先,我们需要有一个待测试方法,你可以随便建一个新,或者使用已有的,我这里就使用我们之前建立过一个 Model ,直接在里面添加一个方法。

1.2K10

解决方案 - 自动化单元测试

前言 收到读者咨询,情况是这样: “亮哥,看了你最近 8 篇关于持续交付文章,想咨询一下对于研发人员有没有可落地方案,我是 PHP 研发工程师,项目中使用Laravel 框架,负责是电商业务...关于这个问题,文章中理论部分很到位,目前我们主要从技术人员角度考虑,做一些 技术导向且支持开发过程测试 ,实现一个可落地方案,等拿到代码后就可以在此基础编写,虽然不是很全面,但可以在此基础上进行扩展...项目的框架是 Laravel,那么我们考虑就是在框架中如何编写单元测试代码?这个比较简单,在 tests 目录就可以编写测试用例。...Laravel一些特性。...小结 以上,就是一个可落地方案,基本跑通了,在此基础编写就可以,根据自己业务场景去完善吧。 在这做个小调查,大家在项目中都编写测试用例吗,为什么?欢迎大家在留言区评论。

1.3K10

laravel 之 Unit 单元测试

在进行项目开发时候,经常会对我们,函数,http请求等进行测试,看结果是否符合我们预期。 对于http 请求我们通常会使用postman 来进行测试。...由于以上原因,我们想寻找一个简单并且高效方法去对我们/方法进行测试,但是又苦于框架单一入口原则。不能直接去调用对应。...Unit: laravel 提供了非常优秀测试基因: 默认情况,你应用 tests 目录中包含两个子目录:Feature 和 Unit。对应功能测试和单元测试。...实际,大部分单元测试都是针对单个方法进行。.../vender/bin/phpunit tests/Unit/UserTest.php 单个方法:phpunit --filter=a_test_function, 单个phpunit --class

1.3K10
领券