Загрузка Фикстур перед каждым тестом (Fixture loading before each test case)

Всё про тестирование в Yii 2.0
Ответить
ODY
Сообщения: 24
Зарегистрирован: 2013.09.19, 12:18

Загрузка Фикстур перед каждым тестом (Fixture loading before each test case)

Сообщение ODY »

Привет всем, окружение: basic template, yiisoft/yii2: 2.0.15, php 7.0.
Написал фикстур, консольными командами все хорошо загружается. Но при запуске юнит тестов vendor\bin\codecept run unit почему то метод _fixtures() отрабатывает только 1 раз, в файле который выполняется первым (LoginFormTest). Во всех следующих тест-файлах метод _fixtures() не выполняется.
Более того я ожидаю что фикстуры должны обновляться перед каждым методом, или хотя бы для каждого тест-файла.
Буду благодарен за подсказки.
Nex-Otaku
Сообщения: 831
Зарегистрирован: 2016.07.09, 21:07

Re: Загрузка Фикстур перед каждым тестом (Fixture loading before each test case)

Сообщение Nex-Otaku »

А в исходники теста вы заглядывали?

LoginFormTest

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

    /**
     * @return array
     */
    public function _fixtures()
    {
        return [
            'user' => [
                'class' => UserFixture::className(),
                'dataFile' => codecept_data_dir() . 'user.php'
            ]
        ];
    }
По остальному - документация вам должна помочь.
SindBad
Сообщения: 81
Зарегистрирован: 2015.06.18, 10:53

Re: Загрузка Фикстур перед каждым тестом (Fixture loading before each test case)

Сообщение SindBad »

Перед каждым методом:

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

    protected $tester;
    
    public function _before()
    {
        $this->tester->haveFixtures([
            'user' => [
                'class' => UserFixture::className(),
                'dataFile' => codecept_data_dir() . 'user.php'
            ]
        ]);
    }
Ответить