Страница 1 из 1

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

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

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

Добавлено: 2018.04.05, 12:00
Nex-Otaku
А в исходники теста вы заглядывали?

LoginFormTest

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

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

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

Добавлено: 2018.04.27, 11:21
SindBad
Перед каждым методом:

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

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