public function PhpUnitTestRunner::phpUnitCommand in Drupal 9
Same name and namespace in other branches
- 8 core/lib/Drupal/Core/Test/PhpUnitTestRunner.php \Drupal\Core\Test\PhpUnitTestRunner::phpUnitCommand()
- 10 core/lib/Drupal/Core/Test/PhpUnitTestRunner.php \Drupal\Core\Test\PhpUnitTestRunner::phpUnitCommand()
Returns the command to run PHPUnit.
@internal
Return value
string The command that can be run through exec().
1 call to PhpUnitTestRunner::phpUnitCommand()
- PhpUnitTestRunner::runCommand in core/
lib/ Drupal/ Core/ Test/ PhpUnitTestRunner.php - Executes the PHPUnit command.
File
- core/
lib/ Drupal/ Core/ Test/ PhpUnitTestRunner.php, line 89
Class
- PhpUnitTestRunner
- Run PHPUnit-based tests.
Namespace
Drupal\Core\TestCode
public function phpUnitCommand() {
// Load the actual autoloader being used and determine its filename using
// reflection. We can determine the vendor directory based on that filename.
$autoloader = (require $this->appRoot . '/autoload.php');
$reflector = new \ReflectionClass($autoloader);
$vendor_dir = dirname($reflector
->getFileName(), 2);
// The file in Composer's bin dir is a *nix link, which does not work when
// extracted from a tarball and generally not on Windows.
$command = $vendor_dir . '/phpunit/phpunit/phpunit';
if (substr(PHP_OS, 0, 3) == 'WIN') {
// On Windows it is necessary to run the script using the PHP executable.
$php_executable_finder = new PhpExecutableFinder();
$php = $php_executable_finder
->find();
$command = $php . ' -f ' . escapeshellarg($command) . ' --';
}
return $command;
}