Задать вопрос
@WEBIVAN

При запуске одного теста в PHPUnit инициализуется ли только его dataProvider или все?

Собственно по мере увеличения количества тестов и количества провайдеров данных, время запуска тестирования существенно увеличивается.
При запуске одного теста
phpunit --filter someTest tests/ExampleTest.php
инициализируется ли dataProvider только для someTest или все dataProviderы в файле ExampleTest.php?
  • Вопрос задан
  • 1016 просмотров
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
Deroy
@Deroy
Senior Developer, Software Architect
теоритически не должны, так как провайдеры мапятся к тесту аннотациями и внутри phpUnit происходит примерно следующее:

1) загружается класс теста
2) он реверсится, находятся все методы тестов
а вот дальше возможны два варианта развития событий:
а)
3) начинается цикл по тестам,
4) запуская каждый тест, сначала ревёрсятся его аннотации и вызываются дата-провайдеры
5) запускается сам тест и ему передаются результаты работы провайдеров
б)
3) реверсятся все аннотации всех тестов
4) выполняются все дата провайдеры
5) запускаются тесты.

Собственно, пардон за наглость, но проще проверить экспериментально. или почитать код фреймворка. заодно нам расскажешь. =)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽