nicer phpunit
authordaniel <daniel.kinzler@wikimedia.de>
Sat, 9 Jun 2012 11:03:59 +0000 (13:03 +0200)
committerdaniel <daniel.kinzler@wikimedia.de>
Sat, 9 Jun 2012 11:03:59 +0000 (13:03 +0200)
tests/phpunit/MediaWikiPHPUnitCommand.php

index ea385ad..18475ca 100644 (file)
@@ -53,6 +53,19 @@ class MediaWikiPHPUnitCommand extends PHPUnit_TextUI_Command {
                }
        }
 
+       protected function handleCustomTestSuite() {
+               if ( empty( $this->arguments['printer'] ) ) {
+                       $this->arguments['printer'] = new PHPUnit_TextUI_ResultPrinter(
+                               null,
+                               isset($this->arguments['verbose']) ? $this->arguments['verbose'] : false,
+                               isset($this->arguments['colors']) ? $this->arguments['colors'] : true,
+                               isset($this->arguments['debug']) ? $this->arguments['debug'] : false
+                       );
+               }
+
+               parent::handleCustomTestSuite();
+       }
+
        public function showHelp() {
                parent::showHelp();
 
@@ -74,3 +87,30 @@ EOT;
        }
 
 }
+
+class MediaWikiPHPUnitResultPrinter extends PHPUnit_TextUI_ResultPrinter {
+       /**
+        * Overrides original method to ignore incomplete tests except in verbose mode.
+        *
+        * @param  PHPUnit_Framework_TestResult  $result
+        */
+       protected function printIncompletes(PHPUnit_Framework_TestResult $result)
+       {
+               if ( $this->verbose ) {
+                       parent::printIncompletes( $result );
+               }
+       }
+
+       /**
+        * Overrides original method to ignore skipped tests except in verbose mode.
+        *
+        * @param  PHPUnit_Framework_TestResult  $result
+        */
+       protected function printSkipped(PHPUnit_Framework_TestResult $result)
+       {
+               if ( $this->verbose ) {
+                       parent::printSkipped( $result );
+               }
+       }
+
+}