作者:手机用户2502863161 | 来源:互联网 | 2023-08-30 16:29
这篇文章给大家分享的是有关如何进行phpstorm hyperf单元测试配置的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
1、创建一个testCase基类继承于PHPUnit\Framework\TestCase
tips:把登录成功后的token放到缓存, 下次接口请求可以直接从缓存取。
client = di(Client::class);
$this->login();
}
public function __call($name, $arguments)
{
return $this->client->{$name}(...$arguments);
}
/**
* @return mixed|string
* @throws \Psr\SimpleCache\InvalidArgumentException
*/
public function login()
{
$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;
}
/**
* @param array $result
* @return false|string
*/
public function pretty(array $result)
{
// 表示成功
$this->assertSame(0, 0);
echo json_encode($result, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE) . PHP_EOL;
}
}
2、写一个test控制器继承AdminTestCase, 然后写测试用例
assertTrue(true);
$res = $this->client->get('/');
// $this->assertSame(0, $res['code']);
$this->pretty($res);
}
/**
* 后台用户列表
* 执行命令:composer test -- --filter testGetSysUserList --group adminUser
*
* @group adminUser
*/
public function testGetSysUserList()
{
$params = [
'username' => '',
'page' => 1,
'limit' => 20
];
$result = $this->get('/admin/sys/user/list', $params, $this->header);
$this->pretty($result);
}
}
3、如果hyperf开启协程、phpunit就无法使用,需要使用hyperf框架自带的co-phpunit,所以需要修改phpstorm配置
第一步:打开phpstorm->settings->languages & Frameworks->PHP->CLI Interpreter
配置完点击【OK】或者【Apply】
第二步:映射项目目录
点击【OK】
第三步:配置 co-phpunit命令
打开phpstorm->settings->languages & Frameworks->PHP->Test Frameworks
如图所示配置,点击【OK】或者 【Apply】保存
然后就可以愉快的hyperf 单元调试啦。
感谢各位的阅读!关于“如何进行phpstorm hyperf单元测试配置”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!