[ Laravel 5.7 文档 ] 测试 —— 快速入门

栏目: PHP · 发布时间: 6年前

内容简介:Laravel 植根于测试,实际上,内置使 PHPUnit 对测试提供支持是开箱即用的,并且默认情况下,

简介

Laravel 植根于测试,实际上,内置使 PHPUnit 对测试提供支持是开箱即用的,并且 phpunit.xml 文件已经为应用设置好了。框架还提供了方便的辅助方法允许你对应用进行优雅的测试。

默认情况下, tests 目录包含了两个子目录: FeatureUnit ,分别用于功能测试和单元测试,单元测试专注于小的、相互隔离的代码,实际上,大部分单元测试可能都是聚焦于单个方法。功能测试可用于测试较大区块的代码,包括若干组件之前的交互,甚至一个完整的HTTP请求。

FeatureUnit 测试目录下都提供了 ExampleTest.php 文件,安装完新的 Laravel 应用后,只需在项目根目录下简单运行 phpunit 即可运行测试(如果提示找不到命令,可以通过 cp vendor/bin/phpunit ./ 将命令拷贝过来):

[ Laravel 5.7 文档 ] 测试 —— 快速入门

注:PHPUnit 是一个面向 程序员 的、功能强大的 PHP 单元测试框架,如果你之前没接触过 PHPUnit,可以通过 官网中文文档 快速入门。

环境

运行测试的时候,Laravel 会自动设置环境为 testing ,这是因为 phpunit.xml 中定义了环境变量。Laravel 在测试时还会自动配置 Session 和缓存驱动为 array ,这意味着测试时不会持久化存储会话和缓存。

如果需要的话,你也可以定义其它测试环境配置值。 testing 环境变量可以在 phpunit.xml 文件中配置,但是要确保在运行命令之前使用 Artisan 命令 config:clear 清除配置缓存。

此外,你还可以在项目根目录下创建一个 .env.testing 文件,该文件会在运行 PHPUnit 测试或执行带 --env=testing 开关的 Artisan 命令时覆盖 .env 文件中的环境变量。

创建 & 运行测试

要创建一个新的测试用例,可以使用Artisan 命令 make:test

// 在 Feature 目录下创建测试类...
php artisan make:test UserTest

// 在 Unit 目录下创建测试类...
php artisan make:test UserTest --unit

创建完测试类后,就可以像使用 PHPUnit 一样定义测试方法,要运行测试,只需在终端执行 phpunit 命令即可:

<?php

namespace Tests\Unit;

use Tests\TestCase;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Illuminate\Foundation\Testing\DatabaseTransactions;

class ExampleTest extends TestCase
{
    /**
     * 简单测试示例
     *
     * @return void
     */
    public function testBasicTest()
    {
        $this->assertTrue(true);
    }
}

注:如果在测试类中定义了自己的 setUp 方法,确保在该方法中调用了 parent::setUp()


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

精通EJB

精通EJB

罗曼 / 第1版 (2005年9月1日) / 2005-9 / 69.0

本书是EJB组件技术教程,专注于EJB的概念、方法、开发过程的介绍。全书共分为4个部分,首先对EJB编程基础进行介绍,其次重点关注EJB编程的具体内容和过程,然后对高级EJB进行了阐述,最后的附录收集了EJB组件技术相关的其他内容。作为一本交互性好、读起来有趣、涉及到EJB中各方面知识的书籍,本书确信这正是你所寻找的。  本书是关于EJB 2.1的经典书籍,是EJB开发者必备的参考书。全书共分为3......一起来看看 《精通EJB》 这本书的介绍吧!

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具