我写了个 hyperf 测试用例扩展,可以提供和 laravel 几乎一致的测试用例方法

前言

用过laravel后再用 hyperf 的小伙伴都知道,hyperf 的测试用例写起来跟 laravel 的差距还是挺大的,不支持 response 详细的断言,比如状态,响应头等。但是有时候又不得不断言,所以我写了这个扩展。

qbhy/hyperf-testing

该扩展包可以提供和 laravel 几乎一致的测试用例书写体验

安装 - install

$ composer require qbhy/hyperf-testing

使用 - usage

1. 修改 HyperfTest\HttpTestCase$client,把默认的 Client 改成 Qbhy\HyperfTesting\Client
2. 修改测试用例

<?php

namespace HyperfTest\Cases\Dev;

use HyperfTest\HttpTestCase;
use Qbhy\HyperfTesting\Client;
use Qbhy\HyperfTesting\TestResponse;

/**
 * Class DevTest * @method TestResponse get($uri, $data = [], $headers = []) * @method TestResponse post($uri, $data = [], $headers = []) * @method TestResponse delete($uri, $data = [], $headers = []) * @method TestResponse put($uri, $data = [], $headers = []) * @method TestResponse json($uri, $data = [], $headers = []) * @method TestResponse file($uri, $data = [], $headers = []) * @package HyperfTest\Cases\Dev */class DevTest extends HttpTestCase
{
 public function __construct($name = null, array $data = [], $dataName = '') { parent::__construct($name, $data, $dataName); $this->client = make(Client::class); }
 public function testExample() { $this->get('/')->assertOk()->assertJsonStructure([ 'data', 'code', 'message', ]); }}

暂不支持 cookie 和 session 相关的断言!

声明 - statement

该包大量参考了 laravel 的代码。感谢 laravel 实现了那么好用的测试用例组件。

github.com/qbhy/hyperf-testing
96qbhy@qq.com

本作品采用《CC 协议》,转载必须注明作者和本文链接
qbhy
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!