php类的测试用例,快速入门:集成 PHPUnit 编写测试用例

快速入门:集成 PHPUnit 编写测试用例

由 学院君 创建于3年前, 最后更新于 11个月前

版本号 #2

14719 views

4 likes

0 collects

5ba230a7658f748304879ef816a97719.png

简介

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

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

Feature 和 Unit 测试目录下都提供了ExampleTest.php 文件,安装完新的 Laravel 应用后,只需在项目根目录下简单运行 phpunit 即可运行测试(如果提示找不到命令,可以通过 cp vendor/bin/phpunit ./ 将命令拷贝过来):

7a71a066ff7ff199586a92b312a3cfc9.png注:PHPUnit 是一个面向程序员的、功能强大的 PHP 单元测试框架,如果你之前没接触过 PHPUnit,可以通过官网及中文文档快速入门。

环境

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

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

此外,你还可以在项目根目录下创建一个 .env.testing 文件,该文件会在运行 PHPUnit 测试或执行带 --env=testing 开关的 Artisan 命令时覆盖 .env 文件中的环境变量。

创建 & 运行测试

要创建一个新的测试用例,可以使用Artisan 命令 make:test:

// 在 Feature 目录下创建测试类...

php artisan make:test UserTest

// 在 Unit 目录下创建测试类...

php artisan make:test UserTest --unit

创建完测试类后,就可以像使用 PHPUnit 一样定义测试方法,要运行测试,只需在终端执行 phpunit 命令即可:

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()。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值