public function BrowserTestBaseTest::testRequiresModule in Drupal 9
Same name and namespace in other branches
- 8 core/tests/Drupal/KernelTests/Core/Test/BrowserTestBaseTest.php \Drupal\KernelTests\Core\Test\BrowserTestBaseTest::testRequiresModule()
Tests that a test case is skipped when it requires a module not present.
In order to catch checkRequirements() regressions, we have to make a new test object and run checkRequirements() here.
@covers ::checkRequirements @covers ::checkModuleRequirements
File
- core/
tests/ Drupal/ KernelTests/ Core/ Test/ BrowserTestBaseTest.php, line 54
Class
- BrowserTestBaseTest
- @group Test @group FunctionalTests
Namespace
Drupal\KernelTests\Core\TestCode
public function testRequiresModule() {
require __DIR__ . '/../../../../fixtures/BrowserMissingDependentModuleTest.php';
$stub_test = new BrowserMissingDependentModuleTest();
// We have to setName() to the method name we're concerned with.
$stub_test
->setName('testRequiresModule');
// We cannot use $this->setExpectedException() because PHPUnit would skip
// the test before comparing the exception type.
try {
$stub_test
->publicCheckRequirements();
$this
->fail('Missing required module throws skipped test exception.');
} catch (SkippedTestError $e) {
$this
->assertEquals('Required modules: module_does_not_exist', $e
->getMessage());
}
}