diff --git a/src/FeatureTestListener.php b/src/FeatureTestListener.php index 18c5dd1..f4a32f5 100644 --- a/src/FeatureTestListener.php +++ b/src/FeatureTestListener.php @@ -2,16 +2,13 @@ namespace Http\Client\Tests; -use PHPUnit\Framework\Test; -use PHPUnit\TextUI\ResultPrinter; - -class FeatureTestListener extends ResultPrinter +trait FeatureTestListener { public function write($buffer) { } - public function startTest(Test $test) + protected function doStartTest($test) { $feature = $this->extractFeature($test); @@ -24,7 +21,7 @@ public function startTest(Test $test) echo sprintf('%-40.s : ', $feature); } - public function endTest(Test $test, $time) + protected function doEndTest($test, $time) { if (!$this->lastTestFailed) { echo $this->formatWithColor('fg-green', 'Supported')."\n"; @@ -35,10 +32,10 @@ public function endTest(Test $test, $time) $this->lastTestFailed = false; } - private function extractFeature(Test $test) + private function extractFeature($test) { $class = get_class($test); - $method = $test->getName(); + $method = $test->getName(false); $reflection = new \ReflectionMethod($class, $method); return $this->parseDocBlock($reflection->getDocComment(), '@feature'); diff --git a/src/ResultPrinter.php b/src/ResultPrinter.php new file mode 100644 index 0000000..7e9d143 --- /dev/null +++ b/src/ResultPrinter.php @@ -0,0 +1,32 @@ +doStartTest($test); + } + public function endTest(Test $test, $time) + { + return $this->doEndTest($test, $time); + } + } +} else { + class ResultPrinter extends \PHPUnit_TextUI_ResultPrinter { + use FeatureTestListener; + public function startTest(\PHPUnit_Framework_Test $test) + { + return $this->doStartTest($test); + } + public function endTest(\PHPUnit_Framework_Test $test, $time) + { + return $this->doEndTest($test, $time); + } + } +}