README.md 1.69 KB
Newer Older
1 2 3 4 5 6 7 8
This directory contains various tests for the advanced applications.

Tests in `codeception` directory are developed with [Codeception PHP Testing Framework](http://codeception.com/).

After creating and setting up the advanced application, follow these steps to prepare for the tests:

1. Install Codeception if it's not yet installed:

Carsten Brandt committed
9 10 11
   ```
   composer global require "codeception/codeception=2.0.*" "codeception/specify=*" "codeception/verify=*"
   ```
12

Carsten Brandt committed
13
   If you've never used Composer for global packages run `composer global status`. It should output:
14

Carsten Brandt committed
15 16 17
   ```
   Changed current directory to <directory>
   ```
18

Carsten Brandt committed
19 20
   Then add `<directory>/vendor/bin` to you `PATH` environment variable. Now you're able to use `codecept` from command
   line globally.
21 22 23

2. Install faker extension by running the following from template root directory where `composer.json` is:

Carsten Brandt committed
24 25 26
   ```
   composer require --dev yiisoft/yii2-faker:*
   ```
27

28
3. Create `yii2_advanced_tests` database then update it by applying migrations:
29

Carsten Brandt committed
30 31 32
   ```
   codeception/bin/yii migrate
   ```
33 34

4. In order to be able to run acceptance tests you need to start a webserver. The simplest way is to use PHP built in
Carsten Brandt committed
35
   webserver. In the root directory where `common`, `frontend` etc. are execute the following:
36

Carsten Brandt committed
37 38 39
   ```
   php -S localhost:8080
   ```
40

Carsten Brandt committed
41
5. Now you can run the tests with the following commands, assuming you are in the `tests/codeception` directory:
42

Carsten Brandt committed
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
   ```
   # frontend tests
   cd frontend
   codecept build
   codecept run
   
   # backend tests
   
   cd backend
   codecept build
   codecept run
    
   # etc.
   ```

Carsten Brandt committed
58
  If you already have run `codecept build` for each application, you can skip that step and run all tests by a single `codecept run`.