Installation recipes and end-to-end testing
Create and apply reusable installation recipes, or test applications with PHPUnit and a real browser. Choose the task that matches your project.
What do you want to do?
Test a Contao extension
Run your local bundle in an isolated Contao installation with a managed server and database.
Test Contao packages in a monorepo
Test local Contao packages together in an isolated Contao installation.
Test an existing Contao project
Test a running Contao project with frontend assertions and backend helpers.
Test a web application
Test an application in a single repository or monorepo, using a local server or an existing URL.
Build a reusable recipe
Describe dependencies, configuration, fixtures and files for tests or portable installation archives.
Apply a recipe
Integrate a recipe archive into an installer and apply it to a prepared project.
Who runs the application?
Choose whether the tooling should build an isolated Contao installation or test your own application. The Contao project and general web application guides use the same application testing tools.
| Responsibility | Managed Edition | Your application |
|---|---|---|
| Use it for | A Contao extension or several local Contao packages | A complete application, local or already served at a URL |
| Installation | Created by the tooling | Prepared by your project |
| Web server | Started by the tooling | Started by the tooling when configured, or provided through a URL |
| Database setup and resets | Managed by the tooling using your recipe | Handled by your project's test setup |
| Browser sessions and assertions | Managed by the tooling | Managed by the tooling |
A Managed Edition is an isolated Contao installation built from a recipe for your tests. For your application, use a local server configuration or an existing URL, including for Contao projects. Contao backend helpers work in both modes.
Recipes can also be created and applied independently of testing. These docs follow main. Check the requirements for supported versions.