diff --git a/src/PHPCensor/Plugin/Util/PhpUnitResultJson.php b/src/PHPCensor/Plugin/Util/PhpUnitResultJson.php index c99704cb..96c932e4 100644 --- a/src/PHPCensor/Plugin/Util/PhpUnitResultJson.php +++ b/src/PHPCensor/Plugin/Util/PhpUnitResultJson.php @@ -40,11 +40,22 @@ class PhpUnitResultJson extends PhpUnitResult $this->failures = 0; if ($events) { + $started = null; foreach ($events as $event) { if (isset($event['event']) && $event['event'] == self::EVENT_TEST) { $this->parseTestcase($event); + $started = null; + } elseif (isset($event['event']) && $event['event'] == self::EVENT_TEST_START) { + $started = $event; } } + if ($started) { + $event = $started; + $event['status'] = 'error'; + $event['message'] = 'Test is not finished'; + $event['output'] = ''; + $this->parseTestcase($event); + } } return $this; @@ -134,6 +145,12 @@ class PhpUnitResultJson extends PhpUnitResult */ protected function getFileAndLine($event) { + if (empty($event['trace'])) { + return [ + 'file' => '', + 'line' => '', + ]; + } $firstTrace = end($event['trace']); reset($event['trace']);