如何进行phpstorm hyperf单元测试配置
这篇文章给大家分享的是有关如何进行phpstorm hyperf单元测试配置的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
1、创建一个testCase基类继承于PHPUnit\Framework\TestCase
tips:把登录成功后的token放到缓存, 下次接口请求可以直接从缓存取。
<?php declare(strict_types=1); /** *ThisfileispartofHyperf. * *@linkhttps://www.hyperf.io *@documenthttps://doc.hyperf.io *@contactgroup@hyperf.io *@licensehttps://github.com/hyperf-cloud/hyperf/blob/master/LICENSE */ namespaceHyperfTest; useApp\Model\SysUser; useApp\Service\Instance\JwtInstance; useHyperf\Testing\Client; usePHPUnit\Framework\TestCase; /** *ClassHttpTestCase. *@methodget($uri,$data=[],$headers=[]) *@methodpost($uri,$data=[],$headers=[]) *@methodjson($uri,$data=[],$headers=[]) *@methodfile($uri,$data=[],$headers=[]) */ abstractclassAdminTestCaseextendsTestCase { /** *@varClient */ protected$client; //token缓存key protected$cacheKey='test_admin_token'; //token protected$header=[]; publicfunction__construct($name=null,array$data=[],$dataName='') { parent::__construct($name,$data,$dataName); $this->client=di(Client::class); $this->login(); } publicfunction__call($name,$arguments) { return$this->client->{$name}(...$arguments); } /** *@returnmixed|string *@throws\Psr\SimpleCache\InvalidArgumentException */ publicfunctionlogin() { $token=cache()->get($this->cacheKey); $this->header['token']=$token; if(!$token){ $userId=1; $user=SysUser::query()->where(['user_id'=>$userId])->first(); $token=JwtInstance::instance()->encode($user); $this->header['token']=$token; //设置到缓存 cache()->set($this->cacheKey,$token,43200); } return$token; } /** *@paramarray$result *@returnfalse|string */ publicfunctionpretty(array$result) { //表示成功 $this->assertSame(0,0); echojson_encode($result,JSON_PRETTY_PRINT|JSON_UNESCAPED_SLASHES|JSON_UNESCAPED_UNICODE).PHP_EOL; } }
2、写一个test控制器继承AdminTestCase, 然后写测试用例
<?php /** *CreatedbyPhpStorm. *User:phpstorm *Date:2020/6/914:36 *Description: */ namespaceHyperfTest\Cases\Admin; useApp\Service\SysUserService; useHyperfTest\AdminTestCase; useSwoole\Coroutine\Channel; useHyperf\Utils\Context; classSysUserControllerTestextendsAdminTestCase { //测试 publicfunctiontestGet() { //$this->assertTrue(true); $res=$this->client->get('/'); //$this->assertSame(0,$res['code']); $this->pretty($res); } /** *后台用户列表 *执行命令:composertest----filtertestGetSysUserList--groupadminUser * *@groupadminUser */ publicfunctiontestGetSysUserList() { $params=[ 'username'=>'', 'page'=>1, 'limit'=>20 ]; $result=$this->get('/admin/sys/user/list',$params,$this->header); $this->pretty($result); } }
点击testGetSysUserList方法左边的绿色三角号:
或者可以在项目的跟目录下直接使用命令:
composertest----filtertestGetSysUserList--groupadminUser
执行结果:
3、如果hyperf开启协程、phpunit就无法使用,需要使用hyperf框架自带的co-phpunit,所以需要修改phpstorm配置
第一步:打开phpstorm->settings->languages & Frameworks->PHP->CLI Interpreter
第二步:映射项目目录
第三步:配置 co-phpunit命令
打开phpstorm->settings->languages & Frameworks->PHP->Test Frameworks
然后就可以愉快的hyperf 单元调试啦。
感谢各位的阅读!关于“如何进行phpstorm hyperf单元测试配置”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
推荐阅读
-
洗衣机不脱水了是怎么回事(洗衣机不甩干的处理方法)
洗衣机作为大家日常生活必备的家用电器,其利用率频繁,难免会因为机械磨损、缺乏润滑油、机件老化、弹簧疲劳变形等原因,出现各种不正...
-
电子表格零基础自学教程(小白也能学明白)
可能很多人(包括我)觉得Excel不就是做个表吗,没什么好学的。然而很多大型企业在面试的时候还是会问,“会Excel吗?”“会...
-
笔记本电脑报价大全(联想笔记本多少钱)
(注意:建议在旗舰店、官方旗舰店、官网购买) 一、游戏本设计本、办公本推荐如下: 华为品牌:(全球第一大电信设备商) 1...
-
煲机软件哪个好(让耳机有个思想准备)
《无间道》中陈永仁与刘建明有过一句经典对白&mdash;&mdash;“高音甜、中音准、低音沉,总之一个词通透”。这一句话也一...
-
viewsonic平板电脑(viewsonic平板电脑刷机)
ViewSonic是一个视讯品牌,中文名字:优派。 ViewSonic 一、读音:英[vju:][?s?n?k],美[vj...
-
采访麦克风户外哪款好(讯飞智能无线麦克风C1采访神器)
对于视频创作者、直播工作者、远程培训老师、记者等媒体工作者来说,工作过程中,最让人费心的莫过于如何确保收音纯正、字幕快速生成、...
-
电脑硬件配置怎么查(详述两招快速查看电脑配置参数信息)
大家好,今天跟大家分享两个快速查看电脑配置参数信息的办法。 操作步骤如下: 1右击电脑屏幕最下方任务栏左侧的电脑徽标按钮,...
-
数据线没坏但充不上电怎么办(数据线充不上电处理方法)
苹果充电器突然充不上电是比较尴尬的问题,首先看自己的充电器数据线是不是原装,如果非原装在第一次充电时,苹果手机会提示你是否要适...
-
电脑开机出现黑屏如何处理(电脑不能开机黑屏解决方法)
电脑不能开机或者开机以后黑屏怎么解决?这里收集了所有常见的维修方法,看完秒变维修高手,实在是一篇不能错过的电脑维修教程。简单易...
-
手机宝典怎么搞(小米手机性能优化宝典)
别再总是抱怨手机卡顿,系统臃肿,反应慢,现在看完这篇文章,你会发现你并不了解小米手机,当然,文中许多方法并不是仅仅适用于小米手...