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/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 (\PHPUnit_Framework_SkippedTestError $e) { $this->assertEqual('Required modules: module_does_not_exist', $e->getMessage()); } } }