快速入门
1、简介
Laravel 植根于测试,实际上,基于 PHPUnit 对测试提供支持是开箱即用的,并且 phpunit.xml
文件已经为应用做好了所需配置。框架还提供了方便的辅助方法允许你对应用进行优雅的测试。
默认情况下,tests
目录包含了两个子目录:Feature
和 Unit
,分别用于功能测试和单元测试,单元测试专注于小的、相互隔离的代码,实际上,大部分单元测试可能都是聚焦于单个方法。功能测试可用于测试较大区块的代码,包括若干组件之前的交互,甚至一个完整的 HTTP 请求。
Feature
和 Unit
测试目录下默认都提供了 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()
。
6 Comments