Я пытаюсь заставить PHPUnit останавливаться при сбое и упорядочивать тесты по дефектам, чтобы ускорить мой опыт разработки (без каламбура).
Вот что я пытаюсь: я использую "--cache-result --order-by=defects --stop-on-defect"
в командной строке, и дополнительно я использую phpunit.xml.dist
с этими флагами:
<?xml version="1.0" encoding="UTF-8"?>
<!-- http://phpunit.de/manual/4.1/en/appendixes.configuration.html -->
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/4.1/phpunit.xsd"
backupGlobals="false"
colors="true"
bootstrap="app/autoload.php"
cacheResult = "true"
convertErrorsToExceptions = "true"
convertNoticesToExceptions = "true"
convertWarningsToExceptions = "true"
processIsolation = "false"
stopOnFailure = "true"
executionOrder = "defects"
beStrictAboutCoversAnnotation = "true"
beStrictAboutOutputDuringTests = "true"
enforceTimeLimit = "false"
>
[...]
Но все же мой (второй) тестовый прогон выглядит так:
[me@horus server]$ ./vendor/bin/phpunit --cache-result --order-by=defects --stop-on-defect
Runtime: PHP 7.3.10
Configuration: /home/.../phpunit.xml.dist
PHPUnit 7.5.16 by Sebastian Bergmann and contributors.
S..S........................................................... 63 / 619 ( 10%)
...SSS......................................................... 126 / 619 ( 20%)
............................................................EEE 189 / 619 ( 30%)
EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE.....................F
Time: 8.41 minutes, Memory: 483.04 MB
There were 43 errors:
[...]
Iмогу сказать, что он действительно использует мой xml, потому что, когда я испортил формат, произойдет сбой вызова PHPUnit. Но почему тесты не отсортированы, чтобы начать с первого сбоя? И почему существует целая линия сбоев вместо одного E
? Разве это не должно прекратиться сразу после первого E
?