测试: 入门指南

Laravel 中文文档 · 2019-01-15 23:13:58

介绍

Laravel 天生就具有测试的基因。事实上,Laravel 默认就支持用 PHPUnit 来做测试,并为你的应用程序配置好了 phpunit.xml 文件。框架还提供了一些便利的辅助函数,让你可以更直观的测试你的应用程序。

默认情况,你的应用 tests 目录中包含两个子目录: FeatureUnit。 单元测试是针对你的代码中非常少而且相对独立的一部分代码,来进行的测试。实际上,大部分单元测试都是针对单个方法进行的。功能测试是针对你的代码中大部分代码进行的测试,包括几个对象之间如何相互作用,甚至是一个对 JSON 实例的完整 HTTP 请求 。

FeatureUnit 目录中都提供一个 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://codercto.com/courses/l/3.html

查看所有标签

淘宝、天猫电商运营百科全书

淘宝、天猫电商运营百科全书

刘涛 / 电子工业出版社 / 2016-7 / 59.00元

有人说淘宝、天猫上90%的卖家不赚钱,我认为说得有点大了。因为如果说大家都不赚钱或者在亏钱,为什么去年在做店铺的卖家,今年还在继续?那些不赚钱的卖家,多数是没意识到市场的变化,还在用原来的套路运营店铺。市场在变,但卖家的思路却没有转变,不赚钱也在情理之中,因为淘宝、天猫的玩法变了。做店铺就是好比一场“打怪”升级的游戏,每次的升级都需要强大的装备与攻略。优胜劣汰,能活下去并且能赚钱的卖家,都是在不停......一起来看看 《淘宝、天猫电商运营百科全书》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具