搭建测试环境 创建测试模型 在开始创建测试用例前,我们需要先构建起用于测试的项目依赖。 先执行下面的 artisan 命令创建一个 Post 模型及其对应的迁移文件。...$ php artisan make:model Post --migration 上面的命令将为我们创建一个 Post 模型类和数据库迁移文件。 Post 模型代码如下: php artisan make:test --unit 执行上面创建测试用例命令会创建文件名为 tests/Unit/AccessorTest.php 文件。 php artisan make:test AccessorTest 命令会创建文件名为 tests/Feature/AccessorTest.php 的测试类。 artisan 命令行工具创建分别创建了用于单元测试和功能测试的测试用例的方法。
Artisan 是一个 SHELL 脚本,是通过命令行操作 Laravel 的唯一入口。...我会按照我理解的最佳实践的做法,一步步实现一个完整的 CURD;但不会一来就把 Laravel 的各个优秀组件抛出来,而是遇到什么组件后再尝试理解它为什么要这样设计、比起其他框架的优势在哪里。...Make Model # 我们的第一步是根据 Laravel 提供的 Artisan 命令生成对应的 Model;在实际的开发中我们通常会提供额外的参数以便生成模型的时候一起生成额外的模版文件,如数据库迁移文件...比如你在上一次变更操作中错误的设置了某个表的索引,那我理解的正确的做法不是回滚,而是创建一个新的迁移文件,并在新的迁移文件中 ALTER 之前的修改。...它为我们提供了种类众多的测试,包括 HTTP 测试、浏览器测试(行为测试)、单元测试、数据库测试等。
文件中,从路径就可以看出,它不是包含在默认的 vendor/laravel 目录下的。...不是说随便一个方法都要进行单元测试,最需要测试的其实是核心业务逻辑相关的一些功能函数或者类方法。...php artisan make:test CulTest --unit 执行命令后,会在 tests/Unit 目录下生成一个 CulTest.php 文件。接下来就在这个文件中写测试。...HTTP测试 HTTP 测试就是模拟请求,可以帮助我们直接实现对页面或接口的测试。是不是感觉很强大。创建 HTTP 测试也可以使用命令行。...php artisan make:test ZyBlogTest 是的,你没看错,和单元测试类的区别就是不用加后面那个 --unit 了。
Laravel,作为一个流行的 PHP 框架,提供了一套强大的工具来帮助开发者进行单元测试,以确保每一部分代码都能按照预期工作。...本文将深入探讨 Laravel 单元测试的各个方面,包括它的重要性、如何设置测试环境、编写和运行测试,以及一些实用的最佳实践。为什么选择 Laravel 进行单元测试?...Laravel 内置了 PHPUnit,这是一个广泛使用的 PHP 单元测试框架。它允许开发者通过编写测试用例来验证代码中的每个组件都能正常运行。...创建测试类:使用 Artisan CLI 命令 php artisan make:test ExampleTest 来创建一个新的测试类。...编写你的第一个 Laravel 单元测试编写单元测试的关键是要保持测试的简洁和专注性。以下是一个简单的单元测试示例,用于测试一个返回两个数相加结果的方法:<?
Laravel 是一个优秀的 PHP 框架,而 Artisan 是 Laravel 提供的强大命令行工具。...文件生成命令php artisan make:controller生成新的控制器文件:php artisan make:controller UserController常用选项:--model:生成控制器并绑定指定模型...php artisan make:model生成新的模型文件:php artisan make:model User常用选项:-m:同时生成迁移文件。-c:同时生成控制器文件。-f:同时生成工厂文件。...php artisan make:migration创建迁移文件:php artisan make:migration create_users_table还可以指定表名:php artisan make...创建自定义命令使用以下命令创建自定义命令类:php artisan make:command MyCustomCommand这会在 app/Console/Commands 目录下生成一个命令类文件。
编辑现有产品详细信息 从用户列表中删除现有产品 AUser 必填 name email password AProduct 必填 name price quantity 创建新的项目 通过运行下面的命令...,我们就可以开始并创建新的 Laravel 项目。...composer create-project --prefer-dist laravel/laravel jwt 这会在名为 jwt 的目录下创建一个新的 Laravel 项目。...通过运行以下命令创建名为 RegisterAuthRequest 的表单请求: php artisan make:request RegisterAuthRequest 它将在 app/Http/Requests...php artisan make:model Product -mc 它会在 database/migrations 目录下创建一个新的数据库迁移文件 create_products_table.php
# php artisan key:generate # php artisan serve 它们的作用一个是生成一个加密缓存等需要使用的唯一 Key ,另一个是运行一个自带的简易服务器。...从脚本名称中我们可以看出,脚本可以以一个 : 分隔,冒号前面是大的分类,比如有 cache:xxx 相关的,也有 make:xxx 相关的。...cache 相关的就是处理一些缓存信息的,而 make 相关的则是创建一些我们需要的文件,比如创建一个控制器可以使用 make:controller ,创建一个数据模型可以使用 make:model 。...关于这些默认自带的脚本,我们将在学习到相关内容的时候顺带着一起学习。 自定义一个脚本 自定义一个脚本非常简单。我们可以使用 make:command 命令来生成一个命令行脚本。...参考文档: https://learnku.com/docs/laravel/8.x/artisan/9387
Responsable 响应接口 Laravel 为响应方法新增了一个 Responsable 接口。 实现接口的类可以从控制器方法返回。...你可以使用新的 make:rule 命令创建自定义验证规则类: $ php artisan make:rule MyCustomRule Blade 模板命令 Auth & Guest 新功能文章列表中也有提到过...在运行创建新模型的命令时加上 -fm 选项可以为其创建工厂文件: $ php artisan make:model -fm Post # 或者你也可以在创建模型的时候,使用 --all 同时创建控制器...、迁移和工厂 $ php artisan make:model --all 当然也可以直接使用 make:factory 来创建工厂文件: $ php artisan make:factory --model...禁用异常处理之后就可以在测试中捕获异常,声明异常,而不是响应异常处理程序。如果你想要查看实际的异常状况时,这会是一个很有用的调试工具。
8 make:factory 介绍 在 Laravel 5.5 的时候,新增了一个 make:factory 命令,它的主要应用场景就是:解决我们在之前的版本当中在 ModelFactory 文件里面定义太多的...10 Markdown 邮件渲染 邮件的 Markdown 写法其实在 Laravel 5.4 的时候就已经支持了,但是对于邮件测试来说,这样的渲染结果其实不是很方便,所以在 Laravel 5.5 的时候...命令 在以前的 laravel 版本中,我们自己创建 Artisan 命令的时候需要到 Kernel 文件中注册命令才可以生效,而在 5.5 的时候,Laravel 通过 load 的方法实现,直接就在生成命令之后可以使用命令了...创建一个自定义命令 SayHello php artisan make:command SayHello 对应的在app/Console/Commands文件夹下会生成一个SayHello.php文件...使用示例:创建一个User Resource php artisan make:resource User 在app/Http/Resources文件夹下会生成一个User.php文件 此文件用于处理单个数据
我在 GitHub 上找到了相当多的 Laravel 开源项目,从里面挑选出了 6 个来查看他们的测试方案。让我们分别看一下。 ...October CMS 的所有测试包括: 单元测试 功能测试 插件测试 每个 "区域" 都有对应的基类来扩展 —— 有 TestCase,UiTestCase 和 PluginTestCase...我在这里看到一个有趣的示例 —— 从测试中调用 Artisan 命令,例如 unit/JoinTest.php: public function testJoinCommand() {...PHPMap 有一个测试组件,使人联想到 Laracasts 或 测试驱动 Laravel 课程 讲述的标准。这是 Feature/FavoritesTest.php 的例子。 ...命令或许不是最佳的设计模式,但他只是测试任何 web 应用中最重要的功能之一。
可以使用 php artisan 命令创建脚本文件: $ php artisan make:command SendEmailCommand 该命令会在自动创建一个类名为 “SendEmailCommand.../Commands'); require base_path('routes/console.php'); } 执行发邮件操作 使用 php artisan 命令可以查看目前可用的脚本列表, 可以看到我们新加的脚本命令...“test:send-mail”: $ php artisan test test:send-mail SendMail:测试邮件发送 执行发送邮件脚本: $ php artisan test:send-mail...在 app/resources/views 目录下, 创建一个 emails 目录,创建一个 test.blade.php 邮件模板文件: 使用 Mail::send() 方法发送: // 邮件模板文件...所以无论从浏览器登录邮箱或者客户端软件登录邮箱,看到的邮件以及状态都是一致的。 Swift Mailer Swift Mailer, 是由 symfony 开发的一个邮件发送类库。
然后运行下面的命令来发布资源: 1 php artisan admin:publish 在该命令会生成配置文件config/admin.php,可以在里面修改安装的地址、数据库连接、以及表名,建议都是用默认配置不修改...然后运行下面的命令完成安装: 1 php artisan admin:install 迁移文件创建表 1 2 3 4 5 6 7 8 9 php artisan make:migration create_articles_table...1 php artisan migrate 创建模型 model 1 2 3 4 5 6 7 8 php artisan make:model Models/Article php artisan...Models/System php artisan make:model Models/Motto 创建控制器 1 2 3 4 5 6 7 8 php artisan admin:make ArticleController...事件允许你在一个指定模型类每次保存或更新的时候执行代码。 retrieved 事件会在从数据库中获取已存在模型时触发。当一个新模型被首次保存的时候,creating 和 created 事件会被触发。
创建 Laravel 项目一旦你成功安装了 PHP 和 Composer,可以使用以下命令来创建一个新的 Laravel 项目:composer create-project --prefer-dist...laravel/laravel my-laravel-app这条命令会自动下载 Laravel 的最新版本,并创建一个新的项目目录 my-laravel-app。...首先,创建一个控制器:php artisan make:controller HomeController然后,在控制器中定义方法:class HomeController extends Controller...创建模型与迁移假设我们要创建一个 Post 模型,首先使用 Artisan 命令生成模型和迁移文件:php artisan make:model Post -m这条命令会生成一个 Post 模型和一个迁移文件...创建中间件使用以下命令生成一个新的中间件:php artisan make:middleware CheckAge在中间件中添加逻辑:public function handle($request, Closure
框架的部分 monolog:包括日志记录模块文件 phpunit:包含程序单元测试模块文件 B.Laravel框架应用程序的三个重要环节 1.路由 作用:根据请求资源定位符的不同,将用户的请求按照事先规划的方案提交给指定的控制器或者功能函数来处理...2.迁移文件及命令: Laravel/database/migrations下 php artisan make:migration 文件名 —create=表名 php artisan migrate...php artisan migrate:rollback 3.数据库填充文件及命令: Laravel/database/seeds下 php artisan make:seeder XXXXSeeder...//创建,第一次要composer down-autoload一下 php artisan db:seed [—class=类名] B.查询构造器 1.Laravel框架的查询构造器是在PDO扩展基础上设计的一个...,可以将数据以对象的形式封装使用,程序的编写将变得高效而且结构清晰 3.对于多个表而且表间存在不同的关系时,如果使用不好会严重影响程序的性能 4.创建命令:php artisan make:model
Laravel 的 Schema 门面 提供数据库无关的支持,用于在所有 Laravel 支持的数据库系统中创建和操作表 创建迁移 使用 make:migration Artisan命令来创建迁移 php...MySQL 8 是由于 MySQL 8 默认使用了新的密码验证插件:caching_sha2_password,而之前的PHP版本中所带的 mysqlnd 无法支持这种验证。...我们再来创建一个表迁移文件 php artisan make:migration add_deleted_at_to_users_table 在 add_deleted_at_to_users_table...php artisan migrate 迁移命令。...那么我们先创建一个迁移文件 php artisan make:migration change_category_id_in_test_table ?
不管是 Node.js、Python 还是 PHP 的 Web 框架,都提供了通过命令行与应用进行交互的功能,通过这些命令行工具,我们可以完成一些初始化操作,比如创建新应用、执行数据库迁移、或者快速创建类文件等...,在 Laravel 中,我们可以通过三种工具实现命令行交互: Artisan:Laravel 内置的命令行操作工具集,支持自定义命令; Tinker:一个由 PsySH 扩展包驱动的 REPL,允许你通过命令行与整个...Artisan 命令简介 我们在前面的教程中已经多次使用过 Artisan 命令,比如创建控制器: php artisan make:controller PostController 如果你查看应用根目录...不同的 Laravel 应用由于安装了不同的扩展包或编写了自定义的 Artisan 命令,所以在当你准备了解一个新应用时,有必要通过 php artisan list 快速浏览该应用支持的所有命令。...创建命令类 首先,我们要了解专门有一个系统自带命令 make:command 来创建自定义命令文件: php artisan make:command WelcomeMessage --command=
这个命令会从 Laravel 官方的存储库中下载最新版本的 Laravel 5.5 代码并安装到名为 "responses" 的文件夹中。...php artisan make:model Post -mf: 创建一个名为 "Post" 的 Eloquent 模型,并生成相应的迁移文件和工厂。...· php artisan make:resource UsersWithPostsResource: 创建一个名为 "UsersWithPostsResource" 的资源类,用于对用户及其posts...· php artisan make:resource PostsResource: 创建一个名为 "PostsResource" 的资源类,用于对posts进行处理。...· php artisan make:controller UsersController --resource: 创建一个名为 "UsersController" 的控制器,添加了 CRUD(创建、读取
一、Migration创建数据表与Seeder数据库填充数据 数据库迁移就像是数据库的版本控制,可以让你的团队轻松修改并共享应用程序的数据库结构 1.1 创建迁移 php artisan make:...每个迁移文件的名称都包含了一个时间戳,以便让 Laravel 确认迁移的顺序。 --table 和 --create 选项可用来指定数据表的名称,或是该迁移被执行时是否将创建的新数据表。...up 方法可为数据库添加新的数据表、字段或索引,而 down 方法则是 up 方法的逆操作。可以在这两个方法中使用 Laravel 数据库结构生成器来创建以及修改数据表。...利用模型工厂类来批量创建测试数据 php artisan make:factory PostFactory -m Post // -m 表示绑定的model ? ?...这个命令可以用来重建数据库: php artisan migrate:refresh --seed 二、模型 创建模型: php artisan make:model Models/Goods php
编写任务类 1、创建一个任务类 php artisan make:job SendSeo ? 数据库就多了两张表: ?...推送队列 我这里建立了一个测试控制器,TestController,里面有个测试方法test,Web路径是:http://127.0.0.1/test/test 你的是多少就是多少,我们这里就是为了触发队列...所以,laravel完全不适合在虚拟机里面运行,无论从composer包的安装还是其他方面来说。...附命令 附上一些常用命令 1、运行队列监听器 php artisan queue:listen 如果执行成功, jobs 中的数据表就没有数据了 如果执行失败,可以在日志中查看原因, 默认是 storage.../logs/laravel-xxx.log 2、处理失败的任务 在任务失败时, 你可以选择 清除失败的任务或者 重新执行失败的任务 查看所有失败的任务, 会将所有失败的任务查询出来输出到命令行
并不是因为安装教程有多复杂,而是因为【众所周知的原因】。在此我推荐一个composer全量中国镜像:http://pkg.phpcomposer.com/ 。...Laravel 已经为我们准备好了 Auth 部分的 migration,运行以下命令执行数据库迁移操作: php artisan migrate 得到的结果如下: 如果你运行命令报错,请检查数据库连接设置...运行一下命令: php artisan make:model Article php artisan make:model Page > Laravel 4 时代,我们使用 Generator 插件来新建...现 在,Artisan 帮我们在 `learnlaravel5/app/` 下创建了两个文件 `Article.php` 和 `Page.php`,这是两个 Model 类,他们都继承了 Laravel...这里需要强调一下,用命令行的方式创建文件,和自己手动创建文件没有任何区别,你也可以尝试自己创建这两个 Model 类。 Model 即为 MVC 中的 M,翻译为 模型,负责跟数据库交互。
领取专属 10元无门槛券
手把手带您无忧上云