五月天激情丁香,国产精品2019,国产成人精品亚洲2020,国产精品免费视频一区二区三区,开心久久婷婷综合中文字幕,天堂视频在线观看免费完整版

Phpunit 組件

EasySwoole/Phpunit 是對 Phpunit 的協(xié)程定制化封裝,主要為解決自動協(xié)程化入口的問題。并屏蔽了 Swoole ExitException

組件要求

  • php: >= 7.3
  • ext-swoole: ^4.4.0
  • phpunit/phpunit: ^9.3

安裝方法

composer require easyswoole/phpunit

倉庫地址

easy-swoole/phpunit

基本使用

./vendor/bin/co-phpunit tests

或者使用以下方式:

php easyswoole.php phpunit tests

默認(rèn)采用協(xié)程容器去執(zhí)行測試用例,使用非協(xié)程采用以下方式:

php easyswoole.php phpunit --no-coroutine

注:tests 為要的測試目錄,用于放需要進(jìn)行單元測試的文件。

預(yù)處理

easyswoole/phpunit 支持在項目目錄下定義一個 phpunit.php,用戶可以在該文件中,進(jìn)行統(tǒng)一的測試前預(yù)處理,其他測試與 phpunit 一致。

如何進(jìn)行單元測試

這里以 ORM 組件為測試演示:

連接注冊

請在 EasySwoole 全局的 initialize 事件中注冊。

<?php

namespace EasySwoole\EasySwoole;

use EasySwoole\EasySwoole\AbstractInterface\Event;
use EasySwoole\EasySwoole\Swoole\EventRegister;
use EasySwoole\ORM\Db\Connection;
use EasySwoole\ORM\DbManager;

class EasySwooleEvent implements Event
{
    public static function initialize()
    {
        date_default_timezone_set('Asia/Shanghai');

        $config = new \EasySwoole\ORM\Db\Config(Config::getInstance()->getConf("MYSQL"));
        DbManager::getInstance()->addConnection(new Connection($config));
    }

    public static function mainServerCreate(EventRegister $register)
    {

    }
}

預(yù)處理

請在 EasySwoole 項目根目錄下創(chuàng)建 phpunit.php 文件。

<?php

use EasySwoole\EasySwoole\Core;

require_once __DIR__ . '/vendor/autoload.php';

Core::getInstance()->initialize();

注:在 3.4.x 之前版本initialize 事件調(diào)用為:EasySwoole\EasySwoole\Core::getInstance()->initialize()->globalInitialize();

編寫測試用例

新建 tests\DbTest.php,編輯內(nèi)容如下:

<?php

namespace Tests;
use EasySwoole\Mysqli\QueryBuilder;
use PHPUnit\Framework\TestCase;
use EasySwoole\ORM\DbManager;

class DbTest extends TestCase
{
    function testCon()
    {
        $builder = new QueryBuilder();
        $builder->raw('select version()');
        $ret = DbManager::getInstance()->query($builder,true)->getResult();
        $this->assertArrayHasKey('version()',$ret[0]);
    }
}

注:請注冊 composer.jsonTests 命名空間與 tests 目錄的映射關(guān)系。

映射關(guān)系大致如下所示:

{
    "require": {
        "easyswoole/easyswoole": "3.4.4",
        "easyswoole/phpunit": "^1.0",
        "easyswoole/orm": "^1.4"
    },
    "autoload": {
        "psr-4": {
            "App\\": "App/",
            "Tests\\": "tests/"
        }
    }
}

然后執(zhí)行 composer dumpautoload

執(zhí)行

./vendor/bin/co-phpunit tests

或者執(zhí)行

php easyswoole.php phpunit tests/DbTest.php

主站蜘蛛池模板: 一级毛片视频播放 | 五月天激情视频 | 久久这里只有精品免费看青草 | 激情六月丁香婷婷四房播 | 五月天激情影院 | 99九九精品视频 | 青草草产国视频 | 久久精品视频9 | 邱淑贞三级艳电影全集 | 斯巴达克斯第四季电视剧全集在线看 | 欧美视频在线观 | 九九久久国产精品免费热6 九九久久国产精品 | 国产国产人免费人成免费视频 | 99精品国内不卡在线观看 | 久久精品香蕉视频 | 秋霞在线观看视频一区二区三区 | 国外免费精品视频在线观看 | 国产一级免费在线观看 | 久久精品国产亚洲精品 | 久久久久久久久久久久福利 | 精品精品国产理论在线观看 | 日日摸夜夜欧美一区二区 | 久久国产精品成人免费古装 | 久久婷婷成人综合色 | 欧美老人性生活视频 | 日韩一区二区免费视频 | 青草青视频在线观看 | 国产精品 视频一区 二区三区 | 五月天爱爱网 | 亚洲狠狠| 精品国产免费观看一区 | 99在线精品免费视频 | 五月天网站最新的网址 | 国产精品久久久久久久免费 | 免费观看国产大片资源视频 | 欧美一级在线观看 | 国产精品不卡 | 久久国产精品久久精品国产 | 久久99综合国产精品亚洲首页 | 久久久久久久综合日本亚洲 | 五月激情综合丁香色婷婷 |