function KernelTestBaseTest::testMethodRequiresModule
Same name in other branches
- 8.9.x core/tests/Drupal/KernelTests/KernelTestBaseTest.php \Drupal\KernelTests\KernelTestBaseTest::testMethodRequiresModule()
- 10 core/tests/Drupal/KernelTests/KernelTestBaseTest.php \Drupal\KernelTests\KernelTestBaseTest::testMethodRequiresModule()
Tests that a test method 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/ KernelTestBaseTest.php, line 261
Class
- KernelTestBaseTest
- @coversDefaultClass \Drupal\KernelTests\KernelTestBase
Namespace
Drupal\KernelTestsCode
public function testMethodRequiresModule() {
require __DIR__ . '/../../fixtures/KernelMissingDependentModuleMethodTest.php';
$stub_test = new KernelMissingDependentModuleMethodTest();
// 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());
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.