Symfony Demo Application
We use official "Symfony Demo Application" to demonstrate basics of Codeception testing.
There are acceptance, functional, and unit tests included.
Acceptance tests are located in the
tests/acceptance directory in the root of a project,
unit tests are included in
Codeception executes acceptance tests globally and all tests included in bundles.
Run Codeception Tests
composer install -n php app/console doctrine:schema:update --force --env test php app/console doctrine:fixtures:load -n --env test php app/console server:start php bin/codecept run
Unit and Functional Tests
Unit and Functional tests are supposed to be located in corresponding Bundle. A simple Codeception configuration was created
Codeception is configured (in
src/AppBundle/codeception.yml) to use
app directory for handling logs and data.
Tests are loaded from
src/AppBundle/test (we didn't use
Tests folder to separate symfony-demo original tests and tests of Codeception).
Unit tests can be executed from
php bin/codecept run -c src/AppBundle
Acceptance tests require web server to be started. They interact with application as regular user would do. Ideally, this should include browser testing, however we use browser emulator PhpBrowser to do some basic testing.
php bin/codecept run acceptance
Below goes official README of Symfony Demo Application:
The "Symfony Demo Application" is a reference application created to show how to develop Symfony applications following the recommended best practices.
- PHP 5.3 or higher;
- PDO-SQLite PHP extension enabled;
- and the usual Symfony application requirements.
If unsure about meeting these requirements, download the demo application and
http://localhost:8000/check.php script to get more detailed
First, install the Symfony Installer if you haven't already. Then, install the Symfony Demo Application executing this command anywhere in your system:
$ symfony demo # if you're using Windows: $ php symfony demo
demo command is not available, update your Symfony Installer to the
most recent version executing the
symfony self-update command.
If you can't use the Symfony Installer, download and install the demo application using Git and Composer:
$ git clone https://github.com/symfony/symfony-demo $ cd symfony-demo/ $ composer install
If you have PHP 5.4 or higher, there is no need to configure a virtual host in your web server to access the application. Just use the built-in web server:
$ cd symfony-demo/ $ php app/console server:run
This command will start a web server for the Symfony application. Now you can
access the application in your browser at http://localhost:8000. You can
stop the built-in web server by pressing
Ctrl + C while you're in the
If you're using PHP 5.3, configure your web server to point at the
web/directory of the project. For more details, see: http://symfony.com/doc/current/cookbook/configuration/web_server_configuration.html