aureja/test-framework-bundle
@dbIsolation/@dbIsolationPerTest annotations), a critical feature for reliable functional testing in Laravel/Symfony applications.symfony/doctrine-bridge).Illuminate\Foundation\Testing\TestCase).laravel-doctrine/orm) and Symfony’s BrowserKit (via symfony/browser-kit) could theoretically allow partial reuse, but no native Laravel support exists.WebTestCase with Laravel’s TestCase (e.g., overriding setUp()/tearDown()).DatabaseTransactions trait already provides similar functionality, but this bundle offers annotation-driven isolation (e.g., @dbIsolationPerTest), which could be valuable for granular control.DatabaseTransactions, RefreshDatabase)?
spatie/laravel-test-factories, orchestra/testbench) that are actively maintained?@dbIsolationPerTest compare to Laravel’s RefreshDatabase in terms of speed and resource usage?Kernel and Bundle system; Laravel’s service container and bootstrapping differ significantly.laravel-doctrine/orm, so database operations (e.g., schema drops) may integrate.Http tests use Guzzle/PHPUnit; this bundle’s BrowserKit dependency would need a polyfill (e.g., symfony/browser-kit + symfony/panther for modern browsers).RefreshDatabase (Laravel 8+) for database isolation.spatie/laravel-test-factories for fixtures.symfony/panther for browser testing.doctrine/dbal for direct DB operations.phpunit, pest, laravel/testcase).WebTestCase to extend Laravel’s TestCase.Kernel references with Laravel’s Application.laravel/new).BrowserKit with Panther or Guzzle for HTTP tests.vendor/laravel-test-framework) or contribute to an existing Laravel testing tool.| Component | Bundle Support | Laravel Workaround | Risk |
|---|---|---|---|
| Database Isolation | @dbIsolation |
RefreshDatabase or custom trait |
Low (reimplementable) |
| Browser Testing | BrowserKit |
symfony/panther or guzzle |
Medium (API changes) |
| Doctrine ORM | v2.5 | laravel-doctrine/orm (v3.x) |
High (deprecation risk) |
| Symfony Kernel | Required | Replace with Laravel’s Application |
High (architectural shift) |
@dbIsolation.Panther as a drop-in.browser-kit) may break compatibility.WebTestCase error might reference AppKernel instead of Laravel’s Application.@dbIsolationPerTest) could slow test suites if not optimized (e.g., no transaction rollback).RefreshDatabase uses transactions by default—this bundle may drop/recreate schemas, which is slower.pest or phpunit with --parallel may conflict with this bundle’s global test state (e.g., shared database connections).| Risk Area | Failure Scenario | Mitigation |
|---|---|---|
| Database Corruption | Schema drop/recreate fails mid-test. | Use transactions (Laravel’s RefreshDatabase). |
| Dependency Conflicts | Symfony 3.x components break in Laravel 10+. | Isolate in a separate test container. |
| Test Flakiness | @dbIsolation not properly scoped. |
Validate with phpunit --verbose. |
| Maintenance Rot | Bundle abandoned; Laravel evolves. | Fork and rebrand as a Laravel package. |
RefreshDatabase).@dbIsolation in Laravel").How can I help you explore Laravel packages today?