2015-08-07 3 views
1

Краткая версия: с использованием функциональных тестов расширенного прикладного шаблона и кода кода Yii2 существует ли способ загрузить конкретное приспособление только до определенного сценария (класс Cest)?Yii2: загрузочные приспособления для конкретных функциональных тестов

(Справочная информация/сторона примечания: у меня есть смутное чувство, что я могу подойти к этому неправильно, поскольку, возможно, если тесты должны быть полностью изолированы относительно db, они должны быть модульными и не функциональными, но из-за временные ограничения на проект, который я начал с функциональных тестов при отложенном модульном тестировании. Я тестирую API REST и имею случай, который сильно зависит от данных тестирования, и терпит неудачу, когда данные модифицируются другими тестами.)

Один из подходов, который я нашел, заключается в том, чтобы написать новый класс _support\ApiHelper, расширяющий значение по умолчанию FixtureHelper и поместив loadFixtures()/unloadFixtures() звонки в _before вместо _beforeSuite(). Тем не менее, это делает все приспособления загружаемыми до каждого теста, что делает выполнение пакета очень медленным.

ответ

3

я нашел лучший подход, чем описанный в вопросе: Расширьте FixtureHelper класс и добавить метод, который вызывает haveCleanDbunloadFixtures()/loadFixtures(). Затем, в сценарии Cest, где мне это нужно, я называю это в методах _before и _after: $I->haveCleanDb(). Таким образом, все остальные тесты все еще бывают быстрыми.

Смежные вопросы