You are here

public function ExternalCommandRequirementTest::testClassRequiresUnavailable in Drupal 9

Same name and namespace in other branches
  1. 8 core/tests/Drupal/BuildTests/Framework/Tests/ExternalCommandRequirementTest.php \Drupal\BuildTests\Framework\Tests\ExternalCommandRequirementTest::testClassRequiresUnavailable()

@covers ::checkClassCommandRequirements

File

core/tests/Drupal/BuildTests/Framework/Tests/ExternalCommandRequirementTest.php, line 76

Class

ExternalCommandRequirementTest
@coversDefaultClass \Drupal\BuildTests\Framework\ExternalCommandRequirementsTrait @group Build

Namespace

Drupal\BuildTests\Framework\Tests

Code

public function testClassRequiresUnavailable() {
  $requires = new ClassRequiresUnavailable();
  $ref_check = new \ReflectionMethod($requires, 'checkClassCommandRequirements');
  $ref_check
    ->setAccessible(TRUE);

  // Use a try/catch block because otherwise PHPUnit might think this test is
  // legitimately skipped.
  try {
    $this
      ->assertNull($ref_check
      ->invoke($requires));
    $this
      ->fail('Unavailable external command requirement should throw a skipped test error exception.');
  } catch (SkippedTestError $exception) {
    $this
      ->assertEquals('Required external commands: unavailable_command', $exception
      ->getMessage());
  }
}