$testCollector = new PHPUnit_Runner_IncludePathTestCollector( array('/path/to/*Test.php files') ); $suite = new PHPUnit_Framework_TestSuite('My Test Suite'); $suite->addTestFiles($testCollector->collectTests());
Author: Sebastian Bergmann (sebastian@phpunit.de)
Inheritance: implements PHPUnit_Runner_TestCollector
コード例 #1
0
 public static function suite()
 {
     $suite = new SimpleContactForm_AllTests('SimpleContactForm Tests');
     $testCollector = new PHPUnit_Runner_IncludePathTestCollector(array(dirname(__FILE__) . '/cases'));
     $suite->addTestFiles($testCollector->collectTests());
     return $suite;
 }
コード例 #2
0
ファイル: AllTests.php プロジェクト: rezaul101/erp32
 public static function suite()
 {
     $collector = new PHPUnit_Runner_IncludePathTestCollector(array(dirname(__FILE__)));
     $suite = new PHPUnit_Framework_TestSuite('Application');
     $suite->addTestFiles($collector->collectTests());
     return $suite;
 }
コード例 #3
0
ファイル: AllTests.php プロジェクト: sgbalogh/peddler_clone5
 public static function suite()
 {
     $suite = new RecordRelations_AllTests('RecordRelations Tests');
     $testCollector = new PHPUnit_Runner_IncludePathTestCollector(array(dirname(__FILE__) . '/cases'));
     $suite->addTestFiles($testCollector->collectTests());
     return $suite;
 }
コード例 #4
0
ファイル: AllTests.php プロジェクト: Daniel-KM/UserProfiles
 public static function suite()
 {
     $suite = new UserProfiles_AllTests('UserProfiles Tests');
     $testCollector = new PHPUnit_Runner_IncludePathTestCollector(array(dirname(__FILE__) . '/integration'));
     $suite->addTestFiles($testCollector->collectTests());
     return $suite;
 }
コード例 #5
0
ファイル: ExamplesTestSuite.php プロジェクト: joeymetal/v1
 public static function suite()
 {
     $class_name = substr(basename(__FILE__), 0, -4);
     $test_folder = strtolower(substr($class_name, 0, -9));
     $suite = new ExamplesTestSuite(AkInflector::titleize($class_name));
     $path = dirname(dirname(dirname(__FILE__))) . DIRECTORY_SEPARATOR . $test_folder;
     $directory = new PHPUnit_Runner_IncludePathTestCollector(array($path));
     $suite->addTestFiles($directory->collectTests());
     return $suite;
 }
コード例 #6
0
 /**
  * Returns the Test corresponding to the given suite.
  * This is a template method, subclasses override
  * the runFailed() and clearStatus() methods.
  *
  * @param  string  $suiteClassName
  * @param  string  $suiteClassFile
  * @param  boolean $syntaxCheck
  * @return PHPUnit_Framework_Test
  */
 public function getTest($suiteClassName, $suiteClassFile = '', $syntaxCheck = FALSE)
 {
     if (is_dir($suiteClassName) && !is_file($suiteClassName . '.php') && empty($suiteClassFile)) {
         $testCollector = new PHPUnit_Runner_IncludePathTestCollector(array($suiteClassName));
         $suite = new PHPUnit_Framework_TestSuite($suiteClassName);
         $suite->addTestFiles($testCollector->collectTests(), $syntaxCheck);
         return $suite;
     }
     try {
         $testClass = $this->loadSuiteClass($suiteClassName, $suiteClassFile, $syntaxCheck);
     } catch (Exception $e) {
         $this->runFailed($e->getMessage());
         return NULL;
     }
     try {
         $suiteMethod = $testClass->getMethod(self::SUITE_METHODNAME);
         if (!$suiteMethod->isStatic()) {
             $this->runFailed('suite() method must be static.');
             return NULL;
         }
         try {
             $test = $suiteMethod->invoke(NULL, $testClass->getName());
         } catch (ReflectionException $e) {
             $this->runFailed(sprintf("Failed to invoke suite() method.\n%s", $e->getMessage()));
             return NULL;
         }
     } catch (ReflectionException $e) {
         try {
             $test = new PHPUnit_Framework_TestSuite($testClass);
         } catch (InvalidArgumentException $e) {
             $test = new PHPUnit_Framework_TestSuite();
             $test->setName($suiteClassName);
         }
     }
     $this->clearStatus();
     return $test;
 }
コード例 #7
0
ファイル: Configuration.php プロジェクト: schwarer2006/wikia
    /**
     * @param  DOMElement $testSuiteNode
     * @param  boolean    $syntaxCheck
     * @return PHPUnit_Framework_TestSuite
     * @since  Method available since Release 3.4.0
     */
    protected function getTestSuite(DOMElement $testSuiteNode, $syntaxCheck)
    {
        if ($testSuiteNode->hasAttribute('name')) {
            $suite = new PHPUnit_Framework_TestSuite(
              (string)$testSuiteNode->getAttribute('name')
            );
        } else {
            $suite = new PHPUnit_Framework_TestSuite;
        }

        foreach ($testSuiteNode->getElementsByTagName('directory') as $directoryNode) {
            $directory = (string)$directoryNode->nodeValue;

            if (empty($directory)) {
                continue;
            }

            if ($directoryNode->hasAttribute('prefix')) {
                $prefix = (string)$directoryNode->getAttribute('prefix');
            } else {
                $prefix = '';
            }

            if ($directoryNode->hasAttribute('suffix')) {
                $suffix = (string)$directoryNode->getAttribute('suffix');
            } else {
                $suffix = 'Test.php';
            }

            $testCollector = new PHPUnit_Runner_IncludePathTestCollector(
              array($this->toAbsolutePath($directory)), $suffix, $prefix
            );

            $suite->addTestFiles($testCollector->collectTests(), $syntaxCheck);
        }

        foreach ($testSuiteNode->getElementsByTagName('file') as $fileNode) {
            $file = (string)$fileNode->nodeValue;

            if (empty($file)) {
                continue;
            }

            $suite->addTestFile($file, $syntaxCheck);
        }

        return $suite;
    }
コード例 #8
0
ファイル: command.php プロジェクト: CREASIG/lizmap-web-client
 protected function getModuleTestSuite($module, $testFile = '')
 {
     $moduleList = $this->epInfo->getModulesList();
     $topsuite = new PHPUnit_Framework_TestSuite();
     if (isset($moduleList[$module])) {
         $type = ($this->testType ? '.' . $this->testType : '') . '.pu.php';
         $suite = new JelixTestSuite($module);
         if ($this->version36) {
             if ($testFile) {
                 $suite->addTestFile($moduleList[$module] . 'tests/' . $testFile);
             } else {
                 $fileIteratorFacade = new File_Iterator_Facade();
                 $files = $fileIteratorFacade->getFilesAsArray($moduleList[$module], $type);
                 $suite->addTestFiles($files);
             }
         } else {
             $testCollector = new PHPUnit_Runner_IncludePathTestCollector(array($moduleList[$module]), $type);
             $suite->addTestFiles($testCollector->collectTests());
         }
         if (count($suite->tests()) > 0) {
             $topsuite->addTestSuite($suite);
         }
     }
     return $topsuite;
 }
コード例 #9
0
ファイル: Configuration.php プロジェクト: xiplias/pails
 /**
  * Returns the test suite configuration.
  *
  * @return PHPUnit_Framework_TestSuite
  * @since  Method available since Release 3.2.1
  */
 public function getTestSuiteConfiguration()
 {
     $testSuiteNode = $this->xpath->query('testsuite');
     if ($testSuiteNode->length > 0) {
         $testSuiteNode = $testSuiteNode->item(0);
         if ($testSuiteNode->hasAttribute('name')) {
             $suite = new PHPUnit_Framework_TestSuite((string) $testSuiteNode->getAttribute('name'));
         } else {
             $suite = new PHPUnit_Framework_TestSuite();
         }
         foreach ($this->xpath->query('testsuite/directory') as $directoryNode) {
             if ($directoryNode->hasAttribute('suffix')) {
                 $suffix = (string) $directoryNode->getAttribute('suffix');
             } else {
                 $suffix = 'Test.php';
             }
             $testCollector = new PHPUnit_Runner_IncludePathTestCollector(array((string) $directoryNode->nodeValue), $suffix);
             $suite->addTestFiles($testCollector->collectTests());
         }
         foreach ($this->xpath->query('testsuite/file') as $fileNode) {
             $suite->addTestFile((string) $fileNode->nodeValue);
         }
         return $suite;
     }
 }
コード例 #10
0
 /**
  * Retorna um PHPUnit_Util_FilterIterator que contém as regras de inclusão
  * de testes do diretório definido por $_fir.
  *
  * @return PHPUnit_Util_FilterIterator
  */
 protected function _collectTests()
 {
     $testCollector = new PHPUnit_Runner_IncludePathTestCollector($this->_directory);
     return $testCollector->collectTests();
 }
コード例 #11
0
 public static function main()
 {
     global $isLocal;
     // check number of arguments
     $isLocal = !isset($_SERVER['HTTP_USER_AGENT']);
     $arguments = array('listGroups' => FALSE, 'loader' => NULL, 'useDefaultConfiguration' => TRUE);
     $loader = NULL;
     $startPos = 1;
     $canCountTest = true;
     global $config_file;
     if ($isLocal && $_SERVER['argv'][1] == "-config" || !$isLocal && strcmp($config_file, "") != 0 && strcmp($config_file, "/*config_xml*/") != 0) {
         // check if configuration specified
         $canCountTest = false;
         $path = $isLocal ? $_SERVER['argv'][2] : $config_file;
         //$_GET["config_xml"];
         $arguments['configuration'] = $path;
         $startPos = 3;
         $configuration = PHPUnit_Util_Configuration::getInstance($path);
         $phpunit = $configuration->getPHPUnitConfiguration();
         if (isset($phpunit['testSuiteLoaderClass'])) {
             if (isset($phpunit['testSuiteLoaderFile'])) {
                 $file = $phpunit['testSuiteLoaderFile'];
             } else {
                 $file = '';
             }
             $command = new PHPUnit_TextUI_Command();
             $loader = $command->handleLoader($phpunit['testSuiteLoaderClass'], $file);
             $arguments['loader'] = $loader;
         }
         $configuration->handlePHPConfiguration();
         $phpunitConfiguration = $configuration->getPHPUnitConfiguration();
         if (isset($phpunitConfiguration['bootstrap'])) {
             PHPUnit_Util_Fileloader::load($phpunitConfiguration['bootstrap']);
         }
         $browsers = $configuration->getSeleniumBrowserConfiguration();
         if (!empty($browsers)) {
             require_once 'PHPUnit/Extensions/SeleniumTestCase.php';
             PHPUnit_Extensions_SeleniumTestCase::$browsers = $browsers;
         }
     }
     if ($isLocal && $_SERVER['argv'][$startPos] == "-group" || !$isLocal && isset($_GET["groups"])) {
         $arguments['groups'] = explode(',', $isLocal ? $_SERVER['argv'][$startPos + 1] : $_GET["groups"]);
         $startPos += 2;
     }
     if ($isLocal && $_SERVER['argv'][$startPos] == "-exclude-group" || !$isLocal && isset($_GET["exclude_groups"])) {
         $arguments['excludeGroups'] = explode(',', $isLocal ? $_SERVER['argv'][$startPos + 1] : $_GET["exclude_groups"]);
         $startPos += 2;
     }
     $check = $isLocal ? $_SERVER['argv'][$startPos] : $_GET["mode"];
     if ($check == "c") {
         $suiteClassName = $isLocal ? $_SERVER['argv'][$startPos + 1] : $_GET["class"];
         $suiteClassFile = $isLocal ? $_SERVER['argv'][$startPos + 2] : $_GET["file"];
         try {
             // $testClass = ();
             if ($loader == NULL) {
                 $loader = new PHPUnit_Runner_StandardTestSuiteLoader();
             }
             $testClass = $loader->load($suiteClassName, $suiteClassFile, FALSE);
         } catch (Exception $e) {
             myExceptionHandler($e);
             return;
         }
         try {
             // if class is a suite
             $suiteMethod = $testClass->getMethod('suite');
             if ($suiteMethod->isAbstract() || !$suiteMethod->isPublic() || !$suiteMethod->isStatic()) {
                 return;
             }
             try {
                 // ?? suite does not have testName argument
                 $test = $suiteMethod->invoke(NULL, $testClass->getName());
                 $test->setName($suiteClassName);
                 if ($canCountTest) {
                     print traceCommand("testCount", "count", (string) sizeof($test));
                 }
                 self::runTest($test, $suiteClassFile, $arguments);
             } catch (ReflectionException $e) {
                 myExceptionHandler($e);
                 return;
             }
         } catch (ReflectionException $e) {
             $test = new PHPUnit_Framework_TestSuite($testClass);
             if ($canCountTest) {
                 print traceCommand("testCount", "count", (string) sizeof($test));
             }
             self::runTest($test, $suiteClassFile, $arguments);
         }
     } else {
         if ($check == "d") {
             // if run directory
             // in remote case we put this script in the test directory
             $suiteDirName = $isLocal ? $_SERVER['argv'][$startPos + 1] : dirname(__FILE__);
             if (is_dir($suiteDirName) && !is_file($suiteDirName . '.php')) {
                 $testCollector = new PHPUnit_Runner_IncludePathTestCollector(array($suiteDirName));
                 // $test = new PHPUnit_Framework_TestSuite($suiteDirName);
                 $filenames = $testCollector->collectTests();
                 $number = 0;
                 $alltests = array();
                 foreach ($filenames as $filename) {
                     $tests = self::collectTestsFromFile($filename);
                     foreach ($tests as $currenttest) {
                         $number += sizeof($currenttest);
                         $alltests[] = $currenttest;
                         $alltests[] = $filename;
                     }
                 }
                 if ($canCountTest) {
                     print traceCommand("testCount", "count", (string) $number);
                 }
                 for ($i = 0; $i < count($alltests); $i += 2) {
                     self::runTest($alltests[$i], $alltests[$i + 1], $arguments);
                 }
                 return;
             }
         } else {
             if ($check == 'f') {
                 // if run all in file
                 $filename = $isLocal ? $_SERVER['argv'][$startPos + 1] : $_GET["file"];
                 $tests = self::collectTestsFromFile($filename);
                 $test = new PHPUnit_Framework_TestSuite();
                 $number = 0;
                 foreach ($tests as $currenttest) {
                     if ($tests) {
                         $test->addTest($currenttest);
                         $number += sizeof($currenttest);
                     }
                 }
                 if ($canCountTest) {
                     print traceCommand("testCount", "count", $number);
                 }
                 foreach ($tests as $currentTest) {
                     self::runTest($currentTest, $filename, $arguments);
                 }
                 return;
             } else {
                 if ($check == 'm') {
                     $suiteMethodName = $isLocal ? $_SERVER['argv'][$startPos + 1] : $_GET["method"];
                     $suiteClassName = $isLocal ? $_SERVER['argv'][$startPos + 2] : $_GET["class"];
                     $suiteClassFile = $isLocal ? $_SERVER['argv'][$startPos + 3] : $_GET["file"];
                     try {
                         $testClass = new PHPUnit_Runner_StandardTestSuiteLoader();
                         $testClass = $testClass->load($suiteClassName, $suiteClassFile, FALSE);
                     } catch (Exception $e) {
                         myExceptionHandler($e);
                         return;
                     }
                     try {
                         // if class is a suite
                         $suiteMethod = $testClass->getMethod($suiteMethodName);
                         if ($suiteMethodName == 'suite') {
                             if ($suiteMethod->isAbstract() || !$suiteMethod->isPublic() || !$suiteMethod->isStatic()) {
                                 return;
                             }
                             try {
                                 $test = $suiteMethod->invoke(NULL, $testClass->getName());
                                 $test->setName($suiteClassName);
                                 if ($canCountTest) {
                                     print traceCommand("testCount", "count", (string) sizeof($test));
                                 }
                                 self::runTest($test, $suiteClassFile, $arguments);
                             } catch (ReflectionException $e) {
                                 myExceptionHandler($e);
                                 return;
                             }
                         } else {
                             $test = PHPUnit_Framework_TestSuite::createTest($testClass, $suiteMethodName);
                             $testSuite = new PHPUnit_Framework_TestSuite();
                             $testSuite->addTest($test);
                             $testSuite->setName($suiteClassName);
                             if ($canCountTest) {
                                 print traceCommand("testCount", "count", (string) sizeof($test));
                             }
                             self::runTest($testSuite, $suiteClassFile, $arguments);
                         }
                     } catch (ReflectionException $e) {
                         myExceptionHandler($e);
                         return;
                     }
                 } else {
                     if ($check == 'x') {
                         $testSuite = $configuration->getTestSuiteConfiguration();
                         self::runTest($testSuite, "", $arguments);
                     }
                 }
             }
         }
     }
 }
コード例 #12
0
ファイル: command.php プロジェクト: hadrienl/jelix
 protected function getModuleTestSuite($module)
 {
     $appInstaller = new jInstallerApplication();
     $ep = $appInstaller->getEntryPointInfo($this->entryPoint);
     $moduleList = $ep->getModulesList();
     $topsuite = new PHPUnit_Framework_TestSuite();
     if (isset($moduleList[$module])) {
         $type = ($this->testType ? '.' . $this->testType : '') . '.pu.php';
         $suite = new JelixTestSuite($module);
         $testCollector = new PHPUnit_Runner_IncludePathTestCollector(array($moduleList[$module]), $type);
         $suite->addTestFiles($testCollector->collectTests());
         if (count($suite->tests()) > 0) {
             $topsuite->addTestSuite($suite);
         }
     }
     return $topsuite;
 }