午夜免费_欧美一级免费看_欧美日韩一区二区视频在线观看_午夜视频在线_日本特黄a级高清免费大片_成年人黄色小视频

Phpunit 组件

EasySwoole/Phpunit 是对 Phpunit 的协程定制化封装,主要为解决自动协程化入口的问题。并屏蔽了 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

默认采用协程容器去执行测试用例,使用非协程采用以下方式:

php easyswoole.php phpunit --no-coroutine

注:tests 为要的测试目录,用于放需要进行单元测试的文件。

预处理

easyswoole/phpunit 支持在项目目录下定义一个 phpunit.php,用户可以在该文件中,进行统一的测试前预处理,其他测试与 phpunit 一致。

如何进行单元测试

这里以 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)
    {

    }
}

预处理

请在 EasySwoole 项目根目录下创建 phpunit.php 文件。

<?php

use EasySwoole\EasySwoole\Core;

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

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

注:在 3.4.x 之前版本initialize 事件调用为:EasySwoole\EasySwoole\Core::getInstance()->initialize()->globalInitialize();

编写测试用例

新建 tests\DbTest.php,编辑内容如下:

<?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 目录的映射关系。

映射关系大致如下所示:

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

然后执行 composer dumpautoload

执行

./vendor/bin/co-phpunit tests

或者执行

php easyswoole.php phpunit tests/DbTest.php

主站蜘蛛池模板: 国产真实夫妇交换视频 | www.久久91 | 国产精品国产一区二区三区四区 | 成人免费超碰 | 午夜成人免费视频 | 免费观看麻豆视频 | 亚洲美女免费 | www.国产精品.com| 99精品久久久 | 中文字幕乱码一区av久久不卡 | 国产一区二区三区播放 | 99热在线免费播放 | 国产一级在线视频 | 九一视频在线观看 | 国产日韩欧美高清 | 91精品在线观看入口 | www.seyu| 国产日本欧美一区二区三区 | www.seyu| 夜色321看片资源站 亚洲撸 | 91免费观看网站 | 天堂一区二区三区 | www.色999 | 99热在线观看精品 | 久久久久成人免费看a含羞草久色 | 91久久精品国产91久久性色tv | 国产成人精品日本亚洲999 | 国产成人精品亚洲日本在线桃色 | 小舞的玉足把我夹得好爽 | 视频色黄色毛片 | 在线男人天堂 | 久久久久国产欧美 | 国产欧美亚洲精品 | 中文字幕不卡一区 | 一本久道竹内纱里奈中文字幕 | 亚洲一区二区三区自拍天堂下载 | 一区二区三区不卡免费视频97 | 竹内纱里奈69av在线 | 欧美日韩精品一区二区天天拍小说 | 91视频免费在线看 | 天天爽片 |