Files
yii2/docs/guide-ru/test-environment-setup.md
2017-04-25 07:54:55 +03:00

72 lines
4.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Настройка тестового окружения
=============================
> Note: Данный раздел находится в разработке.
Yii 2 официально поддерживает интеграцию с фреймворком для тестирования [`Codeception`](https://github.com/Codeception/Codeception),
который позволяет вам проводить следующие типы тестов:
- [Модульное тестирование](test-unit.md) - проверяет что отдельный модуль кода работает верно;
- [Функциональное тестирование](test-functional.md) - проверяет пользовательские сценарии через эмуляцию браузера;
- [Приёмочное тестирование](test-acceptance.md) - проверяет пользовательские сценарии в браузере.
Все три типа тестов представлены в шаблонах проектов
[`yii2-basic`](https://github.com/yiisoft/yii2-app-basic) и
[`yii2-advanced`](https://github.com/yiisoft/yii2-app-advanced).
Для того, чтобы запустить тесты необходимо установить [Codeception](https://github.com/Codeception/Codeception).
Сделать это можно как локально, то есть только для текущего проекта, так и глобально для компьютера разработчика.
Для локальной установки используйте следующие команды:
```
composer require "codeception/codeception=2.1.*"
composer require "codeception/specify=*"
composer require "codeception/verify=*"
```
Для глобальной установки необходимо добавить директиву `global`:
```
composer global require "codeception/codeception=2.1.*"
composer global require "codeception/specify=*"
composer global require "codeception/verify=*"
```
Если вы никогда не пользовались Composer для установки глобальных пакетов, запустите `composer global status`.
На выходе вы должны получить:
```
Changed current directory to <directory>
```
Затем `<directory>/vendor/bin` добавьте в переменную окружения `PATH`. После этого можно использовать `codecept` глобально
из командной строки.
> Note: глобальная установка позволяет вам использовать Codeception для всех проектов на компьютере разработчика
путём запуска команды `codecept` без указания пути. Тем не менее, данный подход может не подойти. К примеру, в двух
разных проектах может потребоваться установить разные версии Codeception. Для простоты все команды в разделах про
тестирование используются так, будто Codeception установлен глобально.
### Настройка веб-сервера Apache
Если вы используете Apache и настроили его как описано в разделе «[Установка Yii](start-installation.md)», то для тестов вам необходимо создать отдельный виртуальный хост который будет работать с той же папкой, но использовать входной скрипт `index-test.php`:
```
<VirtualHost *:80>
DocumentRoot "path/to/basic/webb"
ServerName mysite-test
<Directory "path/to/basic/web">
Order Allow,Deny
Allow from all
AddDefaultCharset utf-8
DirectoryIndex index-test.php
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index-test.php
</Directory>
</VirtualHost>
```
Так мы укажем веб серверу перенаправлять все запросы на скрипт `index-test.php`.
> Note: Обратите внимание, что здесь мы указываем параметр `DirectoryIndex`, помимо тех параметров, которые были указаны для первого хоста. Это сделано с той целью, чтобы при обращении к главной странице по адресу `mysite-test` также использовался бы скрипт `index-test.php`.