Fixture в приемочных тестах codeception

Всё про тестирование в Yii 2.0
Ответить
Аватара пользователя
evrej
Сообщения: 60
Зарегистрирован: 2014.12.19, 09:07

Fixture в приемочных тестах codeception

Сообщение evrej »

Помогите воспользоваться фикстурами в приемочных тестах.
Делаю тест авторизации на сайте. Надо что бы перед началом теста пользователь был в БД, я так понимаю, что это делается через фикстуры.
Примера с приемочным тестом не нашел.
Примерный план действий:
1. Создать класс фикстуры унаследованный от FextureRecod.
2. К нему присоединить массив с данными описывающий пользователя в БД.
3. Далее в тесте мне надо сообщить что при выполнении его надо подключить данную фикстуру. (но как это сделать не понимаю)
Правильно?

На странице https://github.com/yiisoft/yii2/blob/ma ... eptance.md есть указание где находится инструкции, но не могу понять где это apps/advanced/tests/README.md и apps/basic/tests/README.md
Аватара пользователя
evrej
Сообщения: 60
Зарегистрирован: 2014.12.19, 09:07

Re: Fixture в приемочных тестах codeception

Сообщение evrej »

Чет не могу понять... можно ли вообще использовать фикстуры для приемочных тестов?
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Fixture в приемочных тестах codeception

Сообщение ElisDN »

Используйте FixtureHelper из тестов yii2-app-advanced.
Аватара пользователя
evrej
Сообщения: 60
Зарегистрирован: 2014.12.19, 09:07

Re: Fixture в приемочных тестах codeception

Сообщение evrej »

Создал класс /tests/backend/_support/Helper/FixtureHelper.php (namespace backend\Helper; )

Подключил его через /tests/backend/acceptance.suite.yml

Код: Выделить всё

class_name: AcceptanceTester
modules:
   enabled:
      - backend\Helper\FixtureHelper
      - WebDriver:
         url: 'http://localhost/'
         browser: firefox
         window_size: 1024x768
         #wait: 3
         capabilities:
             unexpectedAlertBehaviour: 'accept' 
Создал фикстуру /tests/fixtures/UserFixture (namespace fixtures;)

В классе FixtureHelper есть такое строки

Код: Выделить всё

<?php
namespace backend\Helper;
use fixtures\UserFixture;
...
public function fixtures()
    {
        return [
            'user' => [
                'class' => UserFixture::className(),
            ],
        ];
    }
Ошибка в файле FixtureHelper не может найти класс UserFixture. Почему так происходит? Или надо как то по другому написать наймспейсы?
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Fixture в приемочных тестах codeception

Сообщение ElisDN »

Код: Выделить всё

tests\codeception\fixtures\UserFixture
Ответить