for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
declare(strict_types=1);
namespace Yiisoft\Profiler\Tests;
use Psr\Log\LoggerInterface;
use Yiisoft\Factory\Factory;
use Yiisoft\Profiler\Tests\Logger\ArrayLogger;
abstract class TestCase extends \PHPUnit\Framework\TestCase
{
/**
* @var Factory $factory
*/
protected Factory $factory;
* @var ArrayLogger $logger
protected ArrayLogger $logger;
* setUp
*
* @return void
protected function setUp(): void
parent::setUp();
$this->factory = new Factory();
$this->logger = new ArrayLogger();
}
* tearDown
protected function tearDown(): void
parent::tearDown();
* Invokes a inaccessible method.
* @param $object
* @param $method
* @param array $args
* @param bool $revoke whether to make method inaccessible after execution
* @return mixed
protected function invokeMethod($object, $method, $args = [], $revoke = true)
$reflection = new \ReflectionObject($object);
$method = $reflection->getMethod($method);
$method->setAccessible(true);
$result = $method->invokeArgs($object, $args);
if ($revoke) {
$method->setAccessible(false);
return $result;