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

1、简介

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

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

FeatureUnit 测试目录下默认都提供了 ExampleTest.php 文件,安装完新的 Laravel 应用后,只需简单在命令行运行 phpunit 即可运行测试。

2、环境

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

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

3、创建&运行测试

要创建一个新的测试用例,可以使用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()

学院君 has written 716 articles

资深PHP工程师,Laravel学院院长

6 thoughts on “[ Laravel 5.4 文档 ] 测试 —— 快速入门

发表评论

标记为*的字段是必填项(邮箱地址不会被公开)

你可以使用这些HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>