1
0
Fork 0
mirror of https://github.com/Oreolek/ifhub.club.git synced 2024-07-01 05:55:02 +03:00
ifhub.club/tests
vatseek 6f9dff2d01 Merge remote-tracking branch 'livestreet/master' into comment2
* livestreet/master:
  added logout function
  Frontend framework
  Move vendor js libs to framework folder
  fix count users blog
  fix даты рождения в профиле с учетом часовых поясов
  fix бага с прямым эфиром при удалении блога
  fix mailer return-path
  fix Issue #252
  Issue #246
  Issue #223
  Email notifications: grammatically and stylistically revised English version
  fix Issue #245
  fix  Issue #238
  fix Issue #228

Conflicts:
	classes/actions/ActionBlog.class.php
2013-04-05 21:23:43 +03:00
..
behat Merge remote-tracking branch 'livestreet/master' into comment2 2013-04-05 21:23:43 +03:00
fixtures Added some context methods 2012-12-13 13:28:26 +02:00
travis rm sql files from tests. added symlinks for sql files from install 2012-11-23 00:38:56 +02:00
.htaccess deny access to /tests folder from the web (Apache only) 2012-10-25 22:11:11 +03:00
AbstractFixtures.php Added Behat and Mink (for tests). Created fixtures loader and simple fixtures for blog, user and topics. 2012-10-25 21:54:16 +03:00
LoadFixtures.php change comments to actual 2012-11-30 14:47:58 +02:00
README.md fixed remarks 2012-11-30 14:37:39 +02:00

Запуск функциональных тестов

Для запуска тестов проекта нужно:

  1. Переименовать файл config/config.test.php.dist в config/config.test.php и изменить настройки подключения к тестовой БД. ВАЖНО! Информация в этой БД будет перезаписываться при каждом запуске теста.

  2. В конфиге для Behat (tests/behat/behat.yml) сменить значение опции base_url на хост, под которым проект доступен локально.

  3. Выполнить команду HTTP_APP_ENV=test php tests/behat/behat.phar -c tests/behat/behat.yml. Примерный вывод результата работы команды:

DROP DATABASE social_test
CREATE DATABASE social_test
SELECTED DATABASE social_test
ExportSQL DATABASE social_test
ExportSQL DATABASE social_test -> geo_base
Feature: LiveStreet standart features
  Test base functionality of LiveStreet

  Scenario: See main page                       # features/base.feature:4
    Given I am on homepage                      # FeatureContext::iAmOnHomepage()
    When I press "Войти"                        # FeatureContext::pressButton()
    Then the response status code should be 200 # FeatureContext::assertResponseStatus()

  Scenario: See Colective Blog                       # features/base.feature:9
    Given I am on "/blog/gadgets"                    # FeatureContext::visit()
    Then I should see "Gadgets"                      # FeatureContext::assertPageContainsText()
    Then I should see "Offers latest gadget reviews" # FeatureContext::assertPageContainsText()

  Scenario: See list of blogs                        # features/base.feature:14
    Given I am on "/blogs/"                          # FeatureContext::visit()
    Then I should see "Gadgets"                      # FeatureContext::assertPageContainsText()

  Scenario: See All Topic                                                                 # features/base.feature:18
    Given I am on "/index/newall/"                                                        # FeatureContext::visit()
    Then I should see "iPad 3 rumored to come this March with quad-core chip and 4G LTE " # FeatureContext::assertPageContainsText()
    Then I should see "Toshiba unveils 13.3-inch AT330 Android ICS 4.0 tablet"            # FeatureContext::assertPageContainsText()

  Scenario: See User Profile                                                              # features/base.feature:23
    Given I am on "/profile/Golfer/"                                                      # FeatureContext::visit()
    Then I should see "Sergey Doryba"                                                     # FeatureContext::assertPageContainsText()
    Then I should see "... Sergey Doryba profile description"                             # FeatureContext::assertPageContainsText()

5 scenarios (5 passed)
14 steps (14 passed)
0m2.225s
  1. Для тестирования плагинов используется команда HTTP_APP_ENV=test php behat.phar --config='../../plugins/(название плагина)/tests/behat/behat.yml'

  2. При написании дополнительных тестов используются следующие правила: а) Доступ из базового контекcта к контексту MINK должен производится через функцию getMinkContext() Пример получения доступа к сессии: $this->getMinkContext()->getSession()

б) Получение доступа к базовому обьекту Engine производится посредством метода: $this->getEngine()

Прим: public function getEngine() { return $this->getSubcontext('base')->getEngine(); }