前言
用過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 協議》,轉載必須註明作者和本文連結