getMissingRequirements() public static method

Returns the missing requirements for a test.
public static getMissingRequirements ( string $className, string $methodName ) : array
$className string
$methodName string
return array
Ejemplo n.º 1
0
 /**
  * Runs the tests and collects their result in a TestResult.
  *
  * @param  PHPUnit_Framework_TestResult $result
  * @return PHPUnit_Framework_TestResult
  */
 public function run(PHPUnit_Framework_TestResult $result = null)
 {
     if ($result === null) {
         $result = $this->createResult();
     }
     if (count($this) == 0) {
         return $result;
     }
     $hookMethods = PHPUnit_Util_Test::getHookMethods($this->name);
     $result->startTestSuite($this);
     try {
         $this->setUp();
         foreach ($hookMethods['beforeClass'] as $beforeClassMethod) {
             if ($this->testCase === true && class_exists($this->name, false) && method_exists($this->name, $beforeClassMethod)) {
                 if ($missingRequirements = PHPUnit_Util_Test::getMissingRequirements($this->name, $beforeClassMethod)) {
                     $this->markTestSuiteSkipped(implode(PHP_EOL, $missingRequirements));
                 }
                 call_user_func([$this->name, $beforeClassMethod]);
             }
         }
     } catch (PHPUnit_Framework_SkippedTestSuiteError $e) {
         $numTests = count($this);
         for ($i = 0; $i < $numTests; $i++) {
             $result->startTest($this);
             $result->addFailure($this, $e, 0);
             $result->endTest($this, 0);
         }
         $this->tearDown();
         $result->endTestSuite($this);
         return $result;
     } catch (Throwable $_t) {
         $t = $_t;
     } catch (Exception $_t) {
         $t = $_t;
     }
     if (isset($t)) {
         $numTests = count($this);
         for ($i = 0; $i < $numTests; $i++) {
             $result->startTest($this);
             $result->addError($this, $t, 0);
             $result->endTest($this, 0);
         }
         $this->tearDown();
         $result->endTestSuite($this);
         return $result;
     }
     foreach ($this as $test) {
         if ($result->shouldStop()) {
             break;
         }
         if ($test instanceof PHPUnit_Framework_TestCase || $test instanceof self) {
             $test->setbeStrictAboutChangesToGlobalState($this->beStrictAboutChangesToGlobalState);
             $test->setBackupGlobals($this->backupGlobals);
             $test->setBackupStaticAttributes($this->backupStaticAttributes);
             $test->setRunTestInSeparateProcess($this->runTestInSeparateProcess);
         }
         $test->run($result);
     }
     foreach ($hookMethods['afterClass'] as $afterClassMethod) {
         if ($this->testCase === true && class_exists($this->name, false) && method_exists($this->name, $afterClassMethod)) {
             call_user_func([$this->name, $afterClassMethod]);
         }
     }
     $this->tearDown();
     $result->endTestSuite($this);
     return $result;
 }
Ejemplo n.º 2
0
 /**
  * @since Method available since Release 3.6.0
  */
 protected function checkRequirements()
 {
     if (!$this->name || !method_exists($this, $this->name)) {
         return;
     }
     $missingRequirements = PHPUnit_Util_Test::getMissingRequirements(get_class($this), $this->name);
     if ($missingRequirements) {
         $this->markTestSkipped(implode(PHP_EOL, $missingRequirements));
     }
 }
Ejemplo n.º 3
0
 /**
  * @covers       PHPUnit_Util_Test::getMissingRequirements
  * @dataProvider missingRequirementsProvider
  */
 public function testGetMissingRequirements($test, $result)
 {
     $this->assertEquals($result, PHPUnit_Util_Test::getMissingRequirements('RequirementsTest', $test));
 }