[ 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 852 articles

Laravel学院院长,终身学习者

6 条回复

  1. 衣皇后 衣皇后 says:
    对你爱爱爱不完,我可以天天月月年年看你博客到永远!
  2. 魔域私服一条龙开服服务www.i5gm.comQQ1325876192 魔域私服一条龙开服服务www.i5gm.comQQ1325876192 says:
    传说私服一条龙-网页游戏私服一条龙-幻灵游侠私服一条龙-跑跑卡丁车私服一条龙-永恒之塔杀星时代商业服务端-剑侠情缘私服一条龙-A3私服一条龙www.9uv.net传世sf开区一条龙服务QQ1207542352 魔域私服一条龙开服服务www.i5gm.comQQ1325876192 http://www.i5gm.com/

登录后才能进行评论,立即登录?