yii2-netdisk/tests
2014-08-24 15:26:57 +04:00
..
codeception Added faker to basic app console commands, adjusted readme to mention database setup 2014-08-24 15:26:57 +04:00
codeception.yml Exposed basic app entry URL via codeception.yml, refactored configs of advanced app to read from config and define entry script in a single place 2014-08-16 18:38:56 +04:00
README.md Added faker to basic app console commands, adjusted readme to mention database setup 2014-08-24 15:26:57 +04:00

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:

  1. 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.

  1. Install faker extension by running the following from template root directory where composer.json is:
composer require --dev yiisoft/yii2-faker:*
  1. 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
  1. Build the test suites:
codecept build
  1. 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
  1. 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.