Skip to content

Instantly share code, notes, and snippets.

@shulard
Last active January 30, 2020 08:00
Show Gist options
  • Save shulard/b9149db6b5f026df4f771a821fa0dfd8 to your computer and use it in GitHub Desktop.
Save shulard/b9149db6b5f026df4f771a821fa0dfd8 to your computer and use it in GitHub Desktop.
Define dynamic kernel for a specific test case !
<?php declare(strict_types=1);
namespace App\Tests\Features\SynchronousJob;
use App\Tests\Features\SynchronousTestCase;
use App\Tests\Features\SynchronousTestKernel;
class PushJobWithRetryOnTaskFailTest extends SynchronousTestCase
{
protected static function createKernel(array $options = [])
{
return new class('test', true) extends SynchronousTestKernel {
public function registerContainerConfiguration(LoaderInterface $loader)
{
parent::registerContainerConfiguration($loader);
$loader->load(static function (ContainerBuilder $container) {
$retryGuesser = $container->getDefinition('app.jobs.task_retry_limitation');
$container->setDefinition(
'App\Domain\Job\Model\Task\RetryCapabilities\RetryGuesser',
$retryGuesser
);
});
}
};
}
public function testAnAwesomeBehaviour(): void
{
self::$container->get('App\Domain\Job\Model\Task\RetryCapabilities\RetryGuesser');
//Retourne une instance de 'app.jobs.task_retry_limitation'
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment