function Loader::phpunit
1 call to Loader::phpunit()
- Loader::load in vendor/
phpunit/ phpunit/ src/ TextUI/ Configuration/ Xml/ Loader.php
File
-
vendor/
phpunit/ phpunit/ src/ TextUI/ Configuration/ Xml/ Loader.php, line 709
Class
- Loader
- @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
Namespace
PHPUnit\TextUI\XmlConfigurationCode
private function phpunit(string $filename, DOMDocument $document) : PHPUnit {
$executionOrder = TestSuiteSorter::ORDER_DEFAULT;
$defectsFirst = false;
$resolveDependencies = $this->getBooleanAttribute($document->documentElement, 'resolveDependencies', true);
if ($document->documentElement
->hasAttribute('executionOrder')) {
foreach (explode(',', $document->documentElement
->getAttribute('executionOrder')) as $order) {
switch ($order) {
case 'default':
$executionOrder = TestSuiteSorter::ORDER_DEFAULT;
$defectsFirst = false;
$resolveDependencies = true;
break;
case 'depends':
$resolveDependencies = true;
break;
case 'no-depends':
$resolveDependencies = false;
break;
case 'defects':
$defectsFirst = true;
break;
case 'duration':
$executionOrder = TestSuiteSorter::ORDER_DURATION;
break;
case 'random':
$executionOrder = TestSuiteSorter::ORDER_RANDOMIZED;
break;
case 'reverse':
$executionOrder = TestSuiteSorter::ORDER_REVERSED;
break;
case 'size':
$executionOrder = TestSuiteSorter::ORDER_SIZE;
break;
}
}
}
$cacheDirectory = $this->getStringAttribute($document->documentElement, 'cacheDirectory');
if ($cacheDirectory !== null) {
$cacheDirectory = $this->toAbsolutePath($filename, $cacheDirectory);
}
$cacheResultFile = $this->getStringAttribute($document->documentElement, 'cacheResultFile');
if ($cacheResultFile !== null) {
$cacheResultFile = $this->toAbsolutePath($filename, $cacheResultFile);
}
$bootstrap = $this->getStringAttribute($document->documentElement, 'bootstrap');
if ($bootstrap !== null) {
$bootstrap = $this->toAbsolutePath($filename, $bootstrap);
}
$extensionsDirectory = $this->getStringAttribute($document->documentElement, 'extensionsDirectory');
if ($extensionsDirectory !== null) {
$extensionsDirectory = $this->toAbsolutePath($filename, $extensionsDirectory);
}
$backupStaticProperties = false;
if ($document->documentElement
->hasAttribute('backupStaticProperties')) {
$backupStaticProperties = $this->getBooleanAttribute($document->documentElement, 'backupStaticProperties', false);
}
elseif ($document->documentElement
->hasAttribute('backupStaticAttributes')) {
$backupStaticProperties = $this->getBooleanAttribute($document->documentElement, 'backupStaticAttributes', false);
}
$requireCoverageMetadata = false;
if ($document->documentElement
->hasAttribute('requireCoverageMetadata')) {
$requireCoverageMetadata = $this->getBooleanAttribute($document->documentElement, 'requireCoverageMetadata', false);
}
elseif ($document->documentElement
->hasAttribute('forceCoversAnnotation')) {
$requireCoverageMetadata = $this->getBooleanAttribute($document->documentElement, 'forceCoversAnnotation', false);
}
$beStrictAboutCoverageMetadata = false;
if ($document->documentElement
->hasAttribute('beStrictAboutCoverageMetadata')) {
$beStrictAboutCoverageMetadata = $this->getBooleanAttribute($document->documentElement, 'beStrictAboutCoverageMetadata', false);
}
elseif ($document->documentElement
->hasAttribute('forceCoversAnnotation')) {
$beStrictAboutCoverageMetadata = $this->getBooleanAttribute($document->documentElement, 'beStrictAboutCoversAnnotation', false);
}
return new PHPUnit($cacheDirectory, $this->getBooleanAttribute($document->documentElement, 'cacheResult', true), $cacheResultFile, $this->getColumns($document), $this->getColors($document), $this->getBooleanAttribute($document->documentElement, 'stderr', false), $this->getBooleanAttribute($document->documentElement, 'displayDetailsOnIncompleteTests', false), $this->getBooleanAttribute($document->documentElement, 'displayDetailsOnSkippedTests', false), $this->getBooleanAttribute($document->documentElement, 'displayDetailsOnTestsThatTriggerDeprecations', false), $this->getBooleanAttribute($document->documentElement, 'displayDetailsOnPhpunitDeprecations', false), $this->getBooleanAttribute($document->documentElement, 'displayDetailsOnTestsThatTriggerErrors', false), $this->getBooleanAttribute($document->documentElement, 'displayDetailsOnTestsThatTriggerNotices', false), $this->getBooleanAttribute($document->documentElement, 'displayDetailsOnTestsThatTriggerWarnings', false), $this->getBooleanAttribute($document->documentElement, 'reverseDefectList', false), $requireCoverageMetadata, $bootstrap, $this->getBooleanAttribute($document->documentElement, 'processIsolation', false), $this->getBooleanAttribute($document->documentElement, 'failOnDeprecation', false), $this->getBooleanAttribute($document->documentElement, 'failOnPhpunitDeprecation', false), $this->getBooleanAttribute($document->documentElement, 'failOnEmptyTestSuite', false), $this->getBooleanAttribute($document->documentElement, 'failOnIncomplete', false), $this->getBooleanAttribute($document->documentElement, 'failOnNotice', false), $this->getBooleanAttribute($document->documentElement, 'failOnRisky', false), $this->getBooleanAttribute($document->documentElement, 'failOnSkipped', false), $this->getBooleanAttribute($document->documentElement, 'failOnWarning', false), $this->getBooleanAttribute($document->documentElement, 'stopOnDefect', false), $this->getBooleanAttribute($document->documentElement, 'stopOnDeprecation', false), $this->getBooleanAttribute($document->documentElement, 'stopOnError', false), $this->getBooleanAttribute($document->documentElement, 'stopOnFailure', false), $this->getBooleanAttribute($document->documentElement, 'stopOnIncomplete', false), $this->getBooleanAttribute($document->documentElement, 'stopOnNotice', false), $this->getBooleanAttribute($document->documentElement, 'stopOnRisky', false), $this->getBooleanAttribute($document->documentElement, 'stopOnSkipped', false), $this->getBooleanAttribute($document->documentElement, 'stopOnWarning', false), $extensionsDirectory, $this->getBooleanAttribute($document->documentElement, 'beStrictAboutChangesToGlobalState', false), $this->getBooleanAttribute($document->documentElement, 'beStrictAboutOutputDuringTests', false), $this->getBooleanAttribute($document->documentElement, 'beStrictAboutTestsThatDoNotTestAnything', true), $beStrictAboutCoverageMetadata, $this->getBooleanAttribute($document->documentElement, 'enforceTimeLimit', false), $this->getIntegerAttribute($document->documentElement, 'defaultTimeLimit', 1), $this->getIntegerAttribute($document->documentElement, 'timeoutForSmallTests', 1), $this->getIntegerAttribute($document->documentElement, 'timeoutForMediumTests', 10), $this->getIntegerAttribute($document->documentElement, 'timeoutForLargeTests', 60), $this->getStringAttribute($document->documentElement, 'defaultTestSuite'), $executionOrder, $resolveDependencies, $defectsFirst, $this->getBooleanAttribute($document->documentElement, 'backupGlobals', false), $backupStaticProperties, $this->getBooleanAttribute($document->documentElement, 'registerMockObjectsFromTestArgumentsRecursively', false), $this->getBooleanAttribute($document->documentElement, 'testdox', false), $this->getBooleanAttribute($document->documentElement, 'controlGarbageCollector', false), $this->getIntegerAttribute($document->documentElement, 'numberOfTestsBeforeGarbageCollection', 100));
}