前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >laravel 之 Unit 单元测试

laravel 之 Unit 单元测试

作者头像
句小芒
发布2022-12-29 18:12:00
1.3K0
发布2022-12-29 18:12:00
举报

在进行项目开发的时候,经常会对我们的类,函数,http请求等进行测试,看结果是否符合我们的预期。 对于http 请求我们通常会使用postman 来进行测试。 那么如果我们需要测试某一个类,某一个方法,需要怎么办?

可能我们会这样做:在类或者方法调用后对结果进行打印,然后使用postman 去请求对应接口。

这样做有那些坏处呢:

  1. 可能会在你的代码中出现很多var_dump() 代码。
  2. 在你调用该类/方法 之前有很多步骤是你不需要的。(比如在调用之前对数据库进行了相关操作)。造成脏数据。

由于以上原因,我们想寻找一个简单并且高效的方法去对我们的类/方法进行测试,但是又苦于框架的单一入口原则。不能直接去调用对应的类。

Unit:

laravel 提供了非常优秀的测试基因:

默认情况,你的应用 tests 目录中包含两个子目录:FeatureUnit。对应功能测试和单元测试。

功能测试是针对大面积代码进行的测试,包括多个对象之间的交互,甚至是对 JSON 端点的完整 HTTP 请求。

单元测试是针对你的代码中非常少,而且相对独立的一部分代码来进行的测试(方法)。实际上,大部分单元测试都是针对单个方法进行的。

创建一个测试用例

代码语言:javascript
复制
// 在 Feature 目录下创建一个测试类...
php artisan make:test UserTest

// 在 Unit 目录下创建一个测试类...
php artisan make:test UserTest --unit
代码语言:javascript
复制
<?php

namespace Tests\Unit;

use PHPUnit\Framework\TestCase;

class ExampleTest extends TestCase
{
    /**
     * 一个基本的测试示例
     *
     * @return void
     */
    public function testBasicTest()
    {
        $this->assertTrue(true);
    }
}

然后我们在终端运行 phpunit命令。

mac :

./vender/bin/phpunit

win:

cd vender/bin

phpunit

如果想要执行某一个文件,需要在命令后面加文件路径 如: ./vender/bin/phpunit tests/Unit/UserTest.php

单个方法:phpunit --filter=a_test_function

单个类:phpunit --class=ExampleTest

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-06-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Unit:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档