jeroen/post-request-sender

一个用于发送POST请求的接口的微型库。包括测试替身和适配器

2.0.0 2022-02-03 22:27 UTC

This package is auto-updated.

Last update: 2024-09-14 19:58:55 UTC


README

Build Status codecov Type Coverage Psalm level Latest Stable Version Download count

包含PostRequestSender接口和一些测试替身的微型库。

适用于不需要重型库复杂性的常见情况。

interface PostRequestSender {

	/**
	 * @param string $url
	 * @param array<string, mixed> $fields
	 */
	public function post( string $url, array $fields ): PostResponse;

}

用法

$response = $requestSender->post( 'https://example.com', [ 'foo' => 'bar', 'baz' => 42 ] );
echo $response->body;
echo $response->statusCode;

包含的实现

适配器

  • GuzzlePostRequestSender 适配器用于Guzzle

装饰器

  • LoggingPostRequestSender 接收一个 Psr\Log\LoggerInterface
  • SpyPostRequestSender 记录调用的测试替身

测试替身

  • SpyPostRequestSender 记录调用的测试替身
  • StubPostRequestSender 返回构造函数中提供响应的测试替身

发行说明

2.0.0 (2022-02-03)

  • 放弃使用ResponseInterface,转而使用新的简单值对象PostResponse

1.0.1 (2022-02-02)

  • 修复了TestResponse::getBody的行为

1.0.0 (2022-01-30)

首次发布包含

  • PostRequestSender接口
  • SpyPostRequestSender测试替身(和PostRequest值对象)
  • StubPostRequestSender测试替身
  • GuzzlePostRequestSender实现
  • LoggingPostRequestSender装饰器
  • TestResponse帮助实现或PSR7的ResponseInterface