Как запустить тесты одного и того же класса Phpunit Testcase параллельно с параметром?Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Как запустить тесты одного и того же класса Phpunit Testcase параллельно с параметром?

Сообщение Anonymous »

У меня есть надувший тестовый пример, демонстрирующий, как несколько тестовых случаев могут замедлить все время выполнения, так как, хотя каждый из них быстр сам по себе, они складываются, если ожидание до выполнения следующего.use PHPUnit\Framework\TestCase;

class ShouldTestInParallel extends TestCase
{
/**
* @dataProvider delayProvider
*/
public function testItRunsTestsInParallel(int $delay)
{
sleep($delay);
$this->assertTrue(true);
}

public function delayProvider()
{
return array_map(function ($value) {
return [$value];
}, array_fill(0, 10, 1));
}

}

В порядке ускоренного времени выполнения теста я установил Paratest :
composer require brianium/paratest --dev
< /code>
Теперь я ожидал, что тест завершится через 1 секунду. < /p>
Я выполняю тест через Phpstorm (и включил конфигурацию параметров), но весь тестовый запуск по -прежнему занимает ~ 10s, так как каждый тест выполняется один за другим. < /p>
/bin/php -d memory_limit=5G /myproject/vendor/bin/paratest_for_phpstorm /myproject/library/vendor/phpunit/phpunit/phpunit --bootstrap /myproject/tests/bootstrap.php --debug --verbose --configuration /myproject/tests/phpunit.xml --filter Test\\Vm\\ShouldTestInParallel --test-suffix ShouldTestInParallel.php /myproject/tests/Vm --teamcity
Testing started at 1:57 PM ...
PHPUnit 9.6.25 by Sebastian Bergmann and contributors.

Runtime: PHP 8.0.30
Configuration: /myproject/tests/phpunit.xml

Test 'Test\Vm\ShouldTestInParallel::testItRunsTestsInParallel with data set #0 (1)' ended
Test 'Test\Vm\ShouldTestInParallel::testItRunsTestsInParallel with data set #1 (1)' ended
Test 'Test\Vm\ShouldTestInParallel::testItRunsTestsInParallel with data set #2 (1)' ended
Test 'Test\Vm\ShouldTestInParallel::testItRunsTestsInParallel with data set #3 (1)' ended
Test 'Test\Vm\ShouldTestInParallel::testItRunsTestsInParallel with data set #4 (1)' ended
Test 'Test\Vm\ShouldTestInParallel::testItRunsTestsInParallel with data set #5 (1)' ended
Test 'Test\Vm\ShouldTestInParallel::testItRunsTestsInParallel with data set #6 (1)' ended
Test 'Test\Vm\ShouldTestInParallel::testItRunsTestsInParallel with data set #7 (1)' ended
Test 'Test\Vm\ShouldTestInParallel::testItRunsTestsInParallel with data set #8 (1)' ended
Test 'Test\Vm\ShouldTestInParallel::testItRunsTestsInParallel with data set #9 (1)' ended

Time: 00:10.026, Memory: 28.00 MB

OK (10 tests, 10 assertions)
Process finished with exit code 129 (interrupted by signal 1:SIGHUP)


Подробнее здесь: https://stackoverflow.com/questions/797 ... h-paratest
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»