Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Testbench Laravel Package

orchestra/testbench

Orchestra Testbench is the de facto helper for testing Laravel packages. It boots a lightweight Laravel app for PHPUnit/Pest, so you can run integration and feature tests against your package with minimal setup and fast feedback.

View on GitHub
Deep Wiki
Context7
v10.11.0

Changes

  • Update minimum support for Testbench Core v10.11.0+. (v10.10.0...v10.11.0)
  • Supports PHPUnit 13.0.

Testbench Changes

Changes
  • Supports for Laravel Framework 12.55.0.
Fixes
  • Fix --parallel compatibility with WithFixtures trait.
v9.17.0

Changes

Testbench Changes

Changes
  • Supports for Laravel Framework 11.50.0.
  • Supports PHPUnit 12.4 and 12.5.
  • Run seeder when testbench.yaml configured with seeders: true.
  • Use predefined $__filename to resolve original PestPHP's testCase file.
Fixes
  • Fix --parallel compatibility with WithFixtures trait.
  • Fix #[UsesVendor] attribute fails due to unbooted application, causing BindingResolutionException to be thrown.
v11.0.0

Changes

  • Update support for Laravel Framework v13.

Removed

  • Remove deprecated Orchestra\Testbench\Foundation\Env class.
  • Remove deprecated Orchestra\Testbench\Foundation\Console\Concerns\HandleTerminatingConsole trait.
  • Remove deprecated Orchestra\Testbench\Foundation\Console\Actions\Action::pathLocation() method.
  • Remove deprecated Orchestra\Testbench\laravel_migration_path() function.
  • Remove supports for deprecated annotations:
    • [@define-env](https://github.com/define-env)
    • [@environment-setup](https://github.com/environment-setup)
    • [@define-db](https://github.com/define-db)
    • [@define-route](https://github.com/define-route)
v10.10.0

Changes

  • Update minimum support for Testbench Core v10.10.0+. (v10.9.0...v10.10.0)
  • Supports PHPUnit 13.0.

Testbench Changes

Changes
  • Run seeder when testbench.yaml configured with seeders: true.
  • Use predefined $__filename to resolve original PestPHP's testCase file.
  • Update skeleton.
Fixes
  • Fix #[UsesVendor] attribute fails due to unbooted application, causing BindingResolutionException to be thrown.
v10.9.0

Changes

Testbench Changes

Added
  • Add Orchestra\Testbench\package_version_compare() function.
  • Add Orchestra\Testbench\Concerns\WithFixtures to automatically loads fixtures file for test.
Changes
  • Supports flushing JsonResource and JsonApiResource states.
  • Supports PHPUnit 12.5.
  • Use Orchestra\Sidekick\package_path() for better root package path detection.
v9.16.0

Changes

Testbench Changes

Added
  • Added Orchestra\Testbench\terminate() and Orchestra\Testbench\bail() function to allow using exit() on pnctl enabled tests.
  • Add Orchestra\Testbench\uses_default_skeleton() function.
  • Supports flushing Illuminate\Validator\Validator state.
  • Add Orchestra\Testbench\package_version_compare() function.
  • Add Orchestra\Testbench\Concerns\WithFixtures to automatically loads fixtures file for test.
Changes
  • Ability to merge Framework configurations when using custom skeleton.
  • Support disabling Laravel default service providers.
  • Flush Illuminate\Support\Str states via during test teardown.
  • Use Orchestra\Sidekick\package_path() for better root package path detection.
v8.37.0

Changes

Testbench Changes

Added
  • Add Orchestra\Testbench\package_version_compare() function.
  • Add Orchestra\Testbench\Concerns\WithFixtures to automatically loads fixtures file for test.
Changes
  • Orchestra\Foundation\Env now extends Orchestra\Sidekick\Env.
  • Support disabling Laravel default service providers.
  • Flush Illuminate\Support\Str states via during test teardown.
  • Use Orchestra\Sidekick\package_path() for better root package path detection.
v7.56.0

Changes

Testbench Changes

Added
  • Add Orchestra\Testbench\package_version_compare() function.
  • Add Orchestra\Testbench\Concerns\WithFixtures to automatically loads fixtures file for test.
Changes
  • Orchestra\Foundation\Env now extends Orchestra\Sidekick\Env.
  • Support disabling Laravel default service providers.
  • Flush Illuminate\Support\Str states via during test teardown.
  • Use Orchestra\Sidekick\package_path() for better root package path detection.
v10.8.0

Changes

  • Update minimum support for Testbench Core v10.8.0+. (v10.7.0...v10.8.0)
  • Update minimum Laravel Framework version to 12.40.0.

Testbench Changes

Changes
  • PHP 8.5 Compatibility.
  • Supports for Laravel Framework 12.40.0 or above.
  • Fix symlink removal on Windows environment in the following classes:
    • Orchestra\Testbench\Workbench\Actions\AddAssetSymlinkFolders
    • Orchestra\Testbench\Workbench\Actions\RemoveAssetSymlinkFolders
v10.7.0

Changes

  • Update minimum support for Testbench Core v10.7.0+. (v10.6.1...v10.7.0)
  • Update minimum Laravel Framework version to 12.28.0.
v10.6.0

Changes

  • Update minimum Laravel Framework version to 12.24.0.
v10.5.0

Changes

Testbench Changes

Changes
  • Supports for Laravel Framework 12.23.2 or above (fixed integration with PHPUnit 12.3.4).
v9.15.0

Changes

Testbench Changes

Changes
  • Supports for Laravel Framework 11.45.2 or above (fixed integration with PHPUnit 12.3.4).
  • Supports PHPUnit 12.2 and 12.3.
  • Remove temporary SQLite database files available via journal_mode configuration.
  • Convert Collection::make() to new Collection().
v10.4.0

Changes

Testbench Changes

Changes
  • Supports PHPUnit 12.2.
  • Orchestra\Foundation\Env now extends Orchestra\Sidekick\Env.
  • Update skeleton's configuration.
v10.3.0

Changes

Testbench Changes

Changes
  • Requires Laravel Framework 12.8.0 and above.
  • Orchestra\Testbench\PHPUnit\TestCase now implements Orchestra\Testbench\Concerns\InteractsWithMockery.
  • Flush Illuminate\Database\Eloquent\Model::automaticallyEagerLoadRelationships() state between tests if the method exists.
Fixes
  • Fix handling deprecations logging when logger is not not available when running tests.
v9.14.0

Changes

Testbench Changes

Changes
  • Orchestra\Testbench\PHPUnit\TestCase now implements Orchestra\Testbench\Concerns\InteractsWithMockery.
Fixes
  • Fix handling deprecations logging when logger is not not available when running tests.
v8.36.0

Changes

Testbench Changes

Changes
  • Orchestra\Testbench\PHPUnit\TestCase now implements Orchestra\Testbench\Concerns\InteractsWithMockery.
Fixes
  • Fix handling deprecations logging when logger is not not available when running tests.
v7.55.0

Changes

Testbench Changes

Changes
  • Orchestra\Testbench\PHPUnit\TestCase now implements Orchestra\Testbench\Concerns\InteractsWithMockery.
v10.2.2

Changes

Testbench Changes

Changes
  • Flush Illuminate\Database\Eloquent\Model states between tests.
v9.13.1

Changes

Testbench Changes

Changes
  • Supports for Laravel Framework 11.44.7.
  • Flush Illuminate\Database\Eloquent\Model states between tests.
v8.35.1

Changes

Testbench Changes

Changes
  • Flush Illuminate\Database\Eloquent\Model states between tests.
v10.2.1

Changes

Testbench Changes

Changes
  • Remove symfony/polyfill-php84.
v10.2.0

Changes

Testbench Changes

Added
  • Add ability to pass Closure to Orchestra\Testbench\remote() function.
Changes
  • Add support for PHPUnit 12.1.
  • Refactor Orchestra\Testbench\remote() function to use Orchestra\Testbench\Foundation\Process\RemoteCommand.
  • Rename TESTBENCH_ENVIRONMENT_FILE_USING to TESTBENCH_ENVIRONMENT_FILE_USING (internal environment variable).
v9.13.0

Changes

Testbench Changes

Added
  • Add ability to pass Closure to Orchestra\Testbench\remote() function.
Changes
  • Add support for PHPUnit 12.1.
  • Refactor Orchestra\Testbench\remote() function to use Orchestra\Testbench\Foundation\Process\RemoteCommand.
  • Rename TESTBENCH_ENVIRONMENT_FILE_USING to TESTBENCH_ENVIRONMENT_FILE_USING (internal environment variable).
v8.35.0

Changes

Testbench Changes

Changes
  • Refactor Orchestra\Testbench\remote() function to use Orchestra\Testbench\Foundation\Process\RemoteCommand.
  • Rename TESTBENCH_ENVIRONMENT_FILE_USING to TESTBENCH_ENVIRONMENT_FILE_USING (internal environment variable).
  • Add support for workbench/bootstrap/providers.php.
v7.54.0

Changes

Testbench Changes

Changes
  • Refactor Orchestra\Testbench\remote() function to use Orchestra\Testbench\Foundation\Process\RemoteCommand.
  • Rename TESTBENCH_ENVIRONMENT_FILE_USING to TESTBENCH_ENVIRONMENT_FILE_USING (internal environment variable).
  • Add support for workbench/bootstrap/providers.php.
v10.1.0

Changes

Testbench Changes

Added
  • Added resolvePhpUnitTestClassName() and resolvePhpUnitTestMethodName() to Orchestra\Testbench\Concerns\InteractsWithPHPUnit trait.
Changes
  • Allows usesTestingFeature() to register attribute directly on test method.
  • Improves vendor detection on the default skeleton.
  • Utilise Orchestra\Sidekick\is_symlink() function instead of is_link() to improves support on Windows.
  • Use ::class instead of get_class().
  • Delete vendor symlink via package:purge-skeleton command.
Fixes
  • Fix static variable via Orchestra\Testbench\Attributes\UsesVendor::beforeEach() method.
Deprecate
  • Deprecate following PHPUnit annotations:
    • [@environment-setup](https://github.com/environment-setup)
    • [@define-env](https://github.com/define-env)
    • [@define-database](https://github.com/define-database)
    • [@define-route](https://github.com/define-route)
v9.12.0

Changes

Testbench Changes

Added
  • Added resolvePhpUnitTestClassName() and resolvePhpUnitTestMethodName() to Orchestra\Testbench\Concerns\InteractsWithPHPUnit trait.
Changes
  • Allows usesTestingFeature() to register attribute directly on test method.
  • Improves vendor detection on the default skeleton.
  • Utilise Orchestra\Sidekick\is_symlink() function instead of is_link() to improves support on Windows.
  • Use ::class instead of get_class().
  • Delete vendor symlink via package:purge-skeleton command.
Fixes
  • Fix static variable via Orchestra\Testbench\Attributes\UsesVendor::beforeEach() method.
Deprecate
  • Deprecate following PHPUnit annotations:
    • [@environment-setup](https://github.com/environment-setup)
    • [@define-env](https://github.com/define-env)
    • [@define-database](https://github.com/define-database)
    • [@define-route](https://github.com/define-route)
v8.34.0

Changes

Testbench Changes

Added
  • Added resolvePhpUnitTestClassName() and resolvePhpUnitTestMethodName() to Orchestra\Testbench\Concerns\InteractsWithPHPUnit trait.
Changes
  • Allows usesTestingFeature() to register attribute directly on test method.
  • Improves vendor detection on the default skeleton.
  • Utilise Orchestra\Sidekick\is_symlink() function instead of is_link() to improves support on Windows.
  • Use ::class instead of get_class().
  • Delete vendor symlink via package:purge-skeleton command.
Fixes
  • Fix static variable via Orchestra\Testbench\Attributes\UsesVendor::beforeEach() method.
v7.53.0

Changes

Testbench Changes

Added
  • Added resolvePhpUnitTestClassName() and resolvePhpUnitTestMethodName() to Orchestra\Testbench\Concerns\InteractsWithPHPUnit trait.
Changes
  • Allows usesTestingFeature() to register attribute directly on test method.
  • Improves vendor detection on the default skeleton.
  • Utilise Orchestra\Sidekick\is_symlink() function instead of is_link() to improves support on Windows.
  • Use ::class instead of get_class().
  • Delete vendor symlink via package:purge-skeleton command.
Fixes
  • Fix static variable via Orchestra\Testbench\Attributes\UsesVendor::beforeEach() method.
v10.0.0

Changes

  • Update support for Laravel Framework v12.
  • Update Orchestra\Testbench\TestCase to use Illuminate\Foundation\Testing\Concerns\InteractsWithViews trait.

Removed

  • Remove deprecated functions:
    • Orchestra\Testbench\once()
    • Orchestra\Testbench\transform_relative_path()
  • Remove deprecated methods in Orchestra\Testbench\Concerns\CreatesApplication trait:
    • getBasePath()
    • getDefaultApplicationBootstrapFile()
  • Remove deprecated methods in Orchestra\Testbench\Concerns\InteractsWithMigrations trait:
    • loadMigrationsWithoutRollbackFrom()
    • loadLaravelMigrationsWithoutRollback()
    • runLaravelMigrationsWithoutRollback()
v9.11.0

Changes

Testbench Changes

Added
  • Use orchestra/sidekick.
  • Implements Illuminate\Foundation\Testing\Concerns\InteractsWithViews.
Changes
  • Supports for Laravel Framework 11.43.0.
Deprecated
  • Re-add deprecated getBasePath() method pending removal in Testbench 10.0.
v8.33.0

Changes

Testbench Changes

Added
  • Use orchestra/sidekick.
  • Implements Illuminate\Foundation\Testing\Concerns\InteractsWithViews.
Deprecated
  • Re-add deprecated getBasePath() method pending removal in Testbench 10.0.
v7.52.0

Changes

Testbench Changes

Added
  • Use orchestra/sidekick.
  • Implements Illuminate\Foundation\Testing\Concerns\InteractsWithViews.
Deprecated
  • Re-add deprecated getBasePath() method pending removal in Testbench 10.0.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
davejamesmiller/laravel-breadcrumbs
artisanry/parsedown
christhompsontldr/phpsdk
enqueue/dsn
bunny/bunny
enqueue/test
enqueue/null
enqueue/amqp-tools
milesj/emojibase
bower-asset/punycode
bower-asset/inputmask
bower-asset/jquery
bower-asset/yii2-pjax
laravel/nova
spatie/laravel-mailcoach
spatie/laravel-superseeder
laravel/liferaft
nst/json-test-suite
danielmiessler/sec-lists
jackalope/jackalope-transport