1. Go to this page and download the library: Download zalas/phpunit-injector 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/ */
zalas / phpunit-injector example snippets
use PHPUnit\Framework\TestCase;
use Psr\Container\ContainerInterface;
use Psr\Log\LoggerInterface;
use Symfony\Component\Serializer\SerializerInterface;
use Zalas\Injector\PHPUnit\TestCase\ServiceContainerTestCase;
class ServiceInjectorTest extends TestCase implements ServiceContainerTestCase
{
/**
* @inject
*/
private SerializerInterface $serializer;
/**
* @inject logger
*/
private LoggerInterface $logger;
public function testThatServicesAreInjected()
{
$this->assertInstanceOf(SerializerInterface::class, $this->serializer, 'The service is injectd by its type');
$this->assertInstanceOf(LoggerInterface::class, $this->logger, 'The service is injected by its id');
}
public function createServiceContainer(): ContainerInterface
{
// create a service container here
}
}
use PHPUnit\Framework\TestCase;
use Psr\Log\LoggerInterface;
use Symfony\Component\Serializer\SerializerInterface;
use Zalas\Injector\PHPUnit\Symfony\TestCase\SymfonyTestContainer;
use Zalas\Injector\PHPUnit\TestCase\ServiceContainerTestCase;
class ServiceInjectorTest extends TestCase implements ServiceContainerTestCase
{
use SymfonyTestContainer;
/**
* @inject
*/
private SerializerInterface $serializer;
/**
* @inject logger
*/
private LoggerInterface $logger;
public function testThatServicesAreInjected()
{
$this->assertInstanceOf(SerializerInterface::class, $this->serializer, 'The service is injectd by its type');
$this->assertInstanceOf(LoggerInterface::class, $this->logger, 'The service is injected by its id');
}
}
use PHPUnit\Framework\TestCase;
use Psr\Log\LoggerInterface;
use Symfony\Component\Serializer\SerializerInterface;
use Zalas\Injector\PHPUnit\Symfony\TestCase\SymfonyContainer;
use Zalas\Injector\PHPUnit\TestCase\ServiceContainerTestCase;
class ServiceInjectorTest extends TestCase implements ServiceContainerTestCase
{
use SymfonyContainer;
/**
* @inject
*/
private SerializerInterface $serializer;
/**
* @inject logger
*/
private LoggerInterface $logger;
public function testThatServicesAreInjected()
{
$this->assertInstanceOf(SerializerInterface::class, $this->serializer, 'The service is injectd by its type');
$this->assertInstanceOf(LoggerInterface::class, $this->logger, 'The service is injected by its id');
}
}
use Zalas\Injector\PHPUnit\Symfony\Compiler\ExposeServicesForTestsPass;
class Kernel extends BaseKernel
{
// ...
protected function build(ContainerBuilder $container)
{
if ('test' === $this->getEnvironment()) {
$container->addCompilerPass(new ExposeServicesForTestsPass());
}
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.