kuzman/doctrine-elastica-test-bundle 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

kuzman/doctrine-elastica-test-bundle

Composer 安装命令:

composer require --dev kuzman/doctrine-elastica-test-bundle

包简介

PHPUnit rollback support for Elasticsearch writes performed through FOSElasticaBundle.

README 文档

README

Continuous integration

DoctrineElasticaTestBundle rolls back Elasticsearch changes made through FOSElastica persisters between PHPUnit tests.

Heavily inspired by https://github.com/dmaicher/doctrine-test-bundle.

🚨 EXPERIMENTAL

Requirements

  • PHP 8.2 or higher
  • Symfony 6.4, 7.3, or 8.0
  • FOSElasticaBundle 7.x

Installation

composer require --dev kuzman/doctrine-elastica-test-bundle

Register the bundle for the test environment in config/bundles.php:

return [
    // ...
    Kuzman\DoctrineElasticaTestBundle\KuzmanDoctrineElasticaTestBundle::class => ['test' => true],
];

Add the PHPUnit extension to phpunit.xml.dist:

<extensions>
    <bootstrap class="Kuzman\DoctrineElasticaTestBundle\PHPUnit\PHPUnitExtension"/>
</extensions>

Usage

Once installed, the bundle activates automatically when your PHPUnit suite loads the extension.

Skipping rollback for specific tests

Use Kuzman\DoctrineElasticaTestBundle\PHPUnit\SkipElasticsearchRollback when you need to bypass rollback handling for a specific test class or method.

use Kuzman\DoctrineElasticaTestBundle\PHPUnit\SkipElasticsearchRollback;

#[SkipElasticsearchRollback] // skip for all tests in this class
final class MyTest extends \PHPUnit\Framework\TestCase
{
}

final class AnotherTest extends \PHPUnit\Framework\TestCase
{
    #[SkipElasticsearchRollback] // skip only this test method
    public function testSomething(): void
    {
    }
}

Caveats

  • Only writes that go through FOSElastica persisters are tracked.
  • Out-of-band Elasticsearch writes are not rolled back.
  • Rollback works only when tests are executed by PHPUnit with this extension enabled in phpunit.xml.dist.

Development

vendor/bin/php-cs-fixer fix --dry-run --diff
vendor/bin/phpstan analyse
vendor/bin/phpunit

统计信息

  • 总下载量: 1
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 14
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 0
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-05-03