Russian documentation added (#2417)

This commit is contained in:
Hairetdin
2016-07-23 02:12:09 +05:00
committed by Frédéric Guillot
parent be176fe36c
commit 3ea084fd31
93 changed files with 9880 additions and 0 deletions

262
doc/ru_RU/tests.markdown Normal file
View File

@@ -0,0 +1,262 @@
Автоматизированные тесты
========================
[PHPUnit](https://phpunit.de/) используется для запуска автоматизированных тестов в Канборд.
Вы можете запускать тесты для разных баз данных (Sqlite, Mysql and Postgresql), чтобы убедится, что результаты будут одинаковые.
Требования[](#requirements "Ссылка на этот заголовок")
-------------------------------------------------------
- Компьютер Linux/Unix
- PHP cli
- Установленный PHPUnit
- Mysql и Postgresql (опционально)
Unit тесты[](#unit-tests "Ссылка на этот заголовок")
-----------------------------------------------------
### Тестирование с Sqlite[¶](#test-with-sqlite "Ссылка на этот заголовок")
Sqlite тестирование использует базу данных в памяти, без использования записи на файловую систему.
Конфигурационный файл PHPUnit - `tests/units.sqlite.xml`. Из директории Kanboard запустите команду `phpunit -c tests/units.sqlite.xml`.
Пример:
phpunit -c tests/units.sqlite.xml
PHPUnit 5.0.0 by Sebastian Bergmann and contributors.
............................................................... 63 / 649 ( 9%)
............................................................... 126 / 649 ( 19%)
............................................................... 189 / 649 ( 29%)
............................................................... 252 / 649 ( 38%)
............................................................... 315 / 649 ( 48%)
............................................................... 378 / 649 ( 58%)
............................................................... 441 / 649 ( 67%)
............................................................... 504 / 649 ( 77%)
............................................................... 567 / 649 ( 87%)
............................................................... 630 / 649 ( 97%)
................... 649 / 649 (100%)
Time: 1.22 minutes, Memory: 151.25Mb
OK (649 tests, 43595 assertions)
### Тестирование с Mysql[¶](#test-with-mysql "Ссылка на этот заголовок")
У вас должна быть локально установлена база данных Mysql или MariaDb.
По умолчанию, используются следующие учетные данные:
- Hostname: **localhost**
- Username: **root**
- Password: none
- Database: **kanboard\_unit\_test**
При каждом выполнении база данных удаляется и создается снова.
Конфигурационный файл HPUnit - `tests/units.mysql.xml`. Из директории Kanboard запустите команду `phpunit -c tests/units.mysql.xml`.
### Тестирование с Postgresql[¶](#test-with-postgresql "Ссылка на этот заголовок")
У вас должен быть локально установлен Postgresql.
По умолчанию, используются следующие учетные данные:
- Hostname: **localhost**
- Username: **postgres**
- Password: none
- Database: **kanboard\_unit\_test**
Убедитесь, что пользователь `postgres` может создавать и удалять базу данных. База данных пересоздается при каждом выполнении теста.
Конфигурационных файл PHPUnit - `tests/units.postgres.xml`. Из директории Kanboard, запустите команду `phpunit -c tests/units.postgres.xml`.
Тесты интеграции[](#integration-tests "Ссылка на этот заголовок")
------------------------------------------------------------------
Фактически тестируются только вызовы API.
Реальные HTTP calls выполняются с этими тестами. Поэтому, необходим локальный экземпляр Канборда, который слушает на `http://localhost:8000/`.
Все данные будут удалены/изменены при тестировании. Более того скрипт будет сброшен и установлен новый ключ API.
1. Запустите локольный экземпляр Канборда: `php -S 127.0.0.1:8000`
2. Запустите тест в другом терминале
Этот же метод используется для запуска тестов для разных баз данных:
- Sqlite: `phpunit -c tests/integration.sqlite.xml`
- Mysql: `phpunit -c tests/integration.mysql.xml`
- Postgresql: `phpunit -c tests/integration.postgres.xml`
Пример:
phpunit -c tests/integration.sqlite.xml
PHPUnit 5.0.0 by Sebastian Bergmann and contributors.
............................................................... 63 / 135 ( 46%)
............................................................... 126 / 135 ( 93%)
......... 135 / 135 (100%)
Time: 1.18 minutes, Memory: 14.75Mb
OK (135 tests, 526 assertions)
Непрерывная интеграция с Travis-CI[](#continuous-integration-with-travis-ci "Ссылка на этот заголовок")
--------------------------------------------------------------------------------------------------------
После каждого commit влитого в мой репозиторий, юнит тесты выполняются для 5 различных версий PHP:
- PHP 7.0
- PHP 5.6
- PHP 5.5
- PHP 5.4
- PHP 5.3
При тестировании каждой версии PHP используются 3 поддерживаемые базы данных: Sqlite, Mysql and Postgresql.
Конфигурационный файл Travis - `.travis.yml` - находится в корневой директории Kanboard.
[Русская документация Kanboard](http://kanboard.ru/doc/)