测试: 入门指南
介绍
Laravel 天生就具有测试的基因。事实上,Laravel 默认就支持用 PHPUnit 来做测试,并为你的应用程序配置好了 phpunit.xml
文件。框架还提供了一些便利的辅助函数,让你可以更直观的测试你的应用程序。
默认情况,你的应用 tests
目录中包含两个子目录: Feature
和 Unit
。 单元测试是针对你的代码中非常少而且相对独立的一部分代码,来进行的测试。实际上,大部分单元测试都是针对单个方法进行的。功能测试是针对你的代码中大部分代码进行的测试,包括几个对象之间如何相互作用,甚至是一个对 JSON 实例的完整 HTTP 请求 。
Feature
和 Unit
目录中都提供一个 ExampleTest.php
测试示例文件。安装一个新的 Laravel 应用程序之后,只需在命令行上运行 phpunit
命令,就可以进行测试。
测试环境
在使用 phpunit
进行测试时,Laravel 将根据 phpunit.xml
文件设定的环境变量自动将环境设置为 testing
,并将 Session 及缓存以 array
的形式存储,也就是说在测试时不会持久化任何 Session 或缓存数据。
你可以随意创建其它必要的测试环境配置。 testing
环境变量可以在 phpunit.xml
文件中修改,但是在运行测试之前,请确保使用 config:clear
Artisan 命令来清除配置信息的缓存!
此外,你还可以在你的项目根目录下创建一个 .env.testing
文件,在运行单元测试或者使用 --env=testing
开关执行 Artisan 命令时, .env
文件中的变量会被这个文件覆盖。
定义并运行测试
可以使用 make:test
Artisan 命令,创建一个测试用例:
// 在 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\RefreshDatabase;
class ExampleTest extends TestCase
{
/**
* 一个基本的测试示例。
*
* @return void
*/
public function testBasicTest()
{
$this->assertTrue(true);
}
}
{note} 如果要在你的测试类中定义自己的
setUp
方法,请确保调用了parent::setUp()
方法。
点击查看所有 Laravel 中文文档 文章: https://www.codercto.com/courses/l/3.html
Making Things See
Greg Borenstein / Make / 2012-2-3 / USD 39.99
Welcome to the Vision Revolution. With Microsoft's Kinect leading the way, you can now use 3D computer vision technology to build digital 3D models of people and objects that you can manipulate with g......一起来看看 《Making Things See》 这本书的介绍吧!