Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. PhpUnitTestRunner.php

function 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 79

Class

PhpUnitTestRunner
Run PHPUnit-based tests.

Namespace

Drupal\Core\Test

Code

public function phpUnitCommand() : string {
    // 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 (str_starts_with(PHP_OS, '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;
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal