/**
* @coversDefaultClass \Drupal\KernelTests\KernelTestBase
+ *
* @group PHPUnit
* @group Test
* @group KernelTests
$output = \Drupal::service('renderer')->renderRoot($build);
$this->assertEquals('core', \Drupal::theme()->getActiveTheme()->getName());
- $this->assertEquals($expected, $build['#children']);
+ $this->assertEquals($expected, $build['#markup']);
$this->assertEquals($expected, $output);
}
$this->assertEquals('Australia/Sydney', date_default_timezone_get());
}
+ /**
+ * 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
+ */
+ 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 (\PHPUnit_Framework_SkippedTestError $e) {
+ $this->assertEqual('Required modules: module_does_not_exist', $e->getMessage());
+ }
+ }
+
+ /**
+ * 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
+ */
+ public function testRequiresModule() {
+ require __DIR__ . '/../../fixtures/KernelMissingDependentModuleTest.php';
+
+ $stub_test = new KernelMissingDependentModuleTest();
+ // 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 (\PHPUnit_Framework_SkippedTestError $e) {
+ $this->assertEqual('Required modules: module_does_not_exist', $e->getMessage());
+ }
+ }
+
/**
* {@inheritdoc}
*/