PHPUnit - «потоковая» передача данных из dataProvider (непрерывный режим) - PullRequest
0 голосов
/ 01 октября 2018

Мне нравится использовать PHPUnit в качестве основы для функционального (нечеткого) тестирования.Можно ли заставить PHPUnit запускать тесты один за другим после каждого запроса dataProvider?

На данный момент он хочет извлечь все данные из dataProvider перед запуском тестов, и если мой dataProvider на основе генератора имеет while(true){} цикл (который допустим для генераторов), PHPUnit зависает.

Следующий dataProvider работает как положено (ограниченное количество тестов):

  public function randomArrayProvider()
    {

        for ($i=0; $i<300 ;$i++)
        {
          $aa = $this->buildArraySample();
          yield json_encode($aa) => [$aa];
        }
    }

И этот зависает:

   public function randomArrayProvider()
    {

        while(true)
        {
          $aa = $this->buildArraySample();
          yield json_encode($aa) => [$aa];
        }
    }

Есть ли способ запустить выше неограниченной тестовой последовательности на основе генератора с помощью PHPUnit?

Примечание : У меня нет проблем с запуском вышеуказанного сценария потоковой передачи данных из php-cli,Просто хочу интегрировать его в набор тестов PHPUnit, вместе с модульными тестами и т. Д.

...