.. | ||
codeception | ||
codeception.yml | ||
README.md |
This directory contains various tests for the basic application.
Tests in codeception
directory are developed with Codeception PHP Testing Framework.
After creating the basic application, follow these steps to prepare for the tests:
- Install Codeception if it's not yet installed:
composer global require "codeception/codeception=2.0.*"
composer global require "codeception/specify=*"
composer global require "codeception/verify=*"
If you've never used Composer for global packages run composer global status
. It should output:
Changed current directory to <directory>
Then add <directory>/vendor/bin
to you PATH
environment variable. Now we're able to use codecept
from command
line globally.
- Install faker extension by running the following from template root directory where
composer.json
is:
composer require --dev yiisoft/yii2-faker:*
- Create three databases that are used in tests:
yii2_basic_unit
- for unit tests;yii2_basic_functional
- for functional tests;yii2_basic_acceptance
- for acceptance tests.
Then update databases by applying migrations:
codeception/bin/yii_acceptance migrate
codeception/bin/yii_functional migrate
codeception/bin/yii_unit migrate
- Build the test suites:
codecept build
- In order to be able to run acceptance tests you need to start a webserver. The simplest way is to use PHP built in
webserver. In the
web
directory execute the following:
php -S localhost:8080
- Now you can run the tests with the following commands:
# run all available tests
codecept run
# run acceptance tests
codecept run acceptance
# run functional tests
codecept run functional
# run unit tests
codecept run unit
Please refer to Codeception tutorial for more details about writing and running acceptance, functional and unit tests.