PHP code example of tomkyle / mock-psr
1. Go to this page and download the library: Download tomkyle/mock-psr library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
tomkyle / mock-psr example snippets
use tomkyle\MockPsr\MockPsr6CacheTrait;
use tomkyle\MockPsr\MockPsr7MessagesTrait;
use tomkyle\MockPsr\MockPsr11ContainerTrait;
use tomkyle\MockPsr\MockPsr15RequestHandlerTrait;
use tomkyle\MockPsr\MockPsr17FactoriesTrait;
use tomkyle\MockPsr\MockPsr18ClientTrait;
# Bonus
use tomkyle\MockPsr\MockPdoTrait;
class YourTest extends \PHPUnit\Framework\TestCase
{
use MockPsr7MessagesTrait;
use MockPsr11ContainerTrait;
public function testSomething()
{
$response = $this->mockResponse(200, 'OK');
$container = $this->mockContainer(['service' => 'value']);
}
}
use tomkyle\MockPsr\PsrMockFactory;
class YourTest extends \PHPUnit\Framework\TestCase
{
public function testSomething()
{
$factory = new PsrMockFactory('test');
$response = $factory->mockResponse(200, 'OK');
$container = $factory->mockContainer(['service' => 'value']);
$client = $factory->mockClient($response);
}
}
use tomkyle\MockPsr\PsrMockFactory;
class SomeUnitTest extends \PHPUnit\Framework\TestCase
{
public function testSomething()
{
$factory = new PsrMockFactory('test');
// Psr\Http\Message\ServerRequestInterface
$server_request = $factory->mockServerRequest();
$attributes = array();
$headers = array();
$server_request = $factory->mockServerRequest($attributes, $headers);
// Psr\Http\Message\UriInterface
$uri = $factory->mockUri("https://test.com");
// Psr\Http\Message\RequestInterface
$request = $factory->mockRequest("GET", $uri);
$request = $factory->mockRequest("GET", "/home");
// Psr\Http\Message\StreamInterface
$stream = $factory->mockStream("body string");
// Psr\Http\Message\ResponseInterface
$response = $factory->mockResponse(200, $stream);
$response = $factory->mockResponse(404, "body string");
}
}
use tomkyle\MockPsr\PsrMockFactory;
class SomeUnitTest extends \PHPUnit\Framework\TestCase
{
public function testSomething()
{
$factory = new PsrMockFactory('test');
// Psr\Container\ContainerInterface
$container = $factory->mockContainer();
$container = $factory->mockContainer([
'foo' => 'bar',
'qux' => 'baz'
]);
$container->has("foo"); // true
$container->has("hello"); // false
$container->get("hello"); // throws 'NotFoundExceptionInterface'
}
}
use tomkyle\MockPsr\PsrMockFactory;
class SomeUnitTest extends \PHPUnit\Framework\TestCase
{
public function testSomething()
{
$factory = new PsrMockFactory('test');
// Psr\Cache\CacheItemInterface
$cache_item = $factory->mockCacheItem('cached value');
$cache_item = $factory->mockCacheItem('value', ['isHit' => true]);
$missing_item = $factory->mockMissingCacheItem('missing-key');
// Psr\Cache\CacheItemPoolInterface
$cache_pool = $factory->mockCacheItemPool();
$cache_pool = $factory->mockCacheItemPool($cache_item);
$cache_pool = $factory->mockCacheItemPool([
'key1' => 'value1',
'key2' => $cache_item
]);
}
}
use tomkyle\MockPsr\PsrMockFactory;
class SomeUnitTest extends \PHPUnit\Framework\TestCase
{
public function testSomething()
{
$factory = new PsrMockFactory('test');
// Psr\Http\Server\RequestHandlerInterface
$request_handler = $factory->mockRequestHandler();
$response = $factory->mockResponse(404, "body string");
$request_handler = $factory->mockRequestHandler( $response );
}
}
use tomkyle\MockPsr\PsrMockFactory;
class SomeUnitTest extends \PHPUnit\Framework\TestCase
{
public function testSomething()
{
$factory = new PsrMockFactory('test');
// Psr\Http\Message\RequestFactoryInterface
$request_factory = $factory->mockRequestFactory();
$request = $factory->mockRequest();
$request_factory = $factory->mockRequestFactory( $request );
// Psr\Http\Message\ResponseFactoryInterface
$response_factory = $factory->mockResponseFactory();
$response = $factory->mockResponse(404, "body string");
$response_factory = $factory->mockResponseFactory( $response );
}
}
use tomkyle\MockPsr\PsrMockFactory;
class SomeUnitTest extends \PHPUnit\Framework\TestCase
{
public function testSomething()
{
$factory = new PsrMockFactory('test');
// Psr\Http\Client\ClientInterface
$client = $factory->mockClient();
$response = $factory->mockResponse(404, "body string");
$client = $factory->mockClient( $response );
}
}
use tomkyle\MockPsr\PsrMockFactory;
class SomeUnitTest extends \PHPUnit\Framework\TestCase
{
public function testSomething()
{
$factory = new PsrMockFactory('test');
// \PDOStatement
$execution_result = true;
$stmt = $factory->mockPdoStatement($execution_result);
$stmt = $factory->mockPdoStatement(true, array("foo" => "bar"));
// \PDO
$pdo = $factory->mockPdo();
$pdo = $factory->mockPdo(array("attribute" => \PDO::ATTR_ERRMODE));
$stmt_2 = $pdo->prepare("SELECT");
// $stmt_2 will be a PDOStatement mock
}
}