mirror of
https://github.com/pestphp/pest.git
synced 2026-03-12 02:37:22 +01:00
refactor(teamcity): Small cleanup
This commit is contained in:
@ -6,15 +6,13 @@ namespace Pest\Actions;
|
|||||||
|
|
||||||
use NunoMaduro\Collision\Adapters\Phpunit\Printer;
|
use NunoMaduro\Collision\Adapters\Phpunit\Printer;
|
||||||
use Pest\TeamCity;
|
use Pest\TeamCity;
|
||||||
|
use PHPUnit\TextUI\DefaultResultPrinter;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @internal
|
* @internal
|
||||||
*/
|
*/
|
||||||
final class AddsDefaults
|
final class AddsDefaults
|
||||||
{
|
{
|
||||||
/**
|
|
||||||
* @var string
|
|
||||||
*/
|
|
||||||
private const PRINTER = 'printer';
|
private const PRINTER = 'printer';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -27,11 +25,11 @@ final class AddsDefaults
|
|||||||
public static function to(array $arguments): array
|
public static function to(array $arguments): array
|
||||||
{
|
{
|
||||||
if (!array_key_exists(self::PRINTER, $arguments)) {
|
if (!array_key_exists(self::PRINTER, $arguments)) {
|
||||||
$arguments[self::PRINTER] = new Printer(null, $arguments['verbose'] ?? false, $arguments['colors'] ?? 'always');
|
$arguments[self::PRINTER] = new Printer(null, $arguments['verbose'] ?? false, $arguments['colors'] ?? DefaultResultPrinter::COLOR_ALWAYS);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($arguments[self::PRINTER] === \PHPUnit\Util\Log\TeamCity::class) {
|
if ($arguments[self::PRINTER] === \PHPUnit\Util\Log\TeamCity::class) {
|
||||||
$arguments[self::PRINTER] = new TeamCity(null, $arguments['verbose'] ?? false, $arguments['colors'] ?? 'always');
|
$arguments[self::PRINTER] = new TeamCity($arguments['verbose'] ?? false, $arguments['colors'] ?? DefaultResultPrinter::COLOR_ALWAYS);
|
||||||
}
|
}
|
||||||
|
|
||||||
return $arguments;
|
return $arguments;
|
||||||
|
|||||||
@ -17,10 +17,13 @@ use function str_replace;
|
|||||||
|
|
||||||
final class TeamCity extends DefaultResultPrinter
|
final class TeamCity extends DefaultResultPrinter
|
||||||
{
|
{
|
||||||
private const PROTOCOL = 'pest_qn://';
|
private const PROTOCOL = 'pest_qn://';
|
||||||
private const NAME = 'name';
|
private const NAME = 'name';
|
||||||
private const LOCATION_HINT = 'locationHint';
|
private const LOCATION_HINT = 'locationHint';
|
||||||
private const DURATION = 'duration';
|
private const DURATION = 'duration';
|
||||||
|
private const TEST_SUITE_STARTED = 'testSuiteStarted';
|
||||||
|
private const TEST_SUITE_FINISHED = 'testSuiteFinished';
|
||||||
|
private const TEST_FAILED = 'testFailed';
|
||||||
|
|
||||||
/** @var int */
|
/** @var int */
|
||||||
private $flowId;
|
private $flowId;
|
||||||
@ -31,11 +34,11 @@ final class TeamCity extends DefaultResultPrinter
|
|||||||
/** @var \PHPUnit\Util\Log\TeamCity */
|
/** @var \PHPUnit\Util\Log\TeamCity */
|
||||||
private $phpunitTeamCity;
|
private $phpunitTeamCity;
|
||||||
|
|
||||||
public function __construct($out, bool $verbose, string $colors)
|
public function __construct(bool $verbose, string $colors)
|
||||||
{
|
{
|
||||||
parent::__construct($out, $verbose, $colors, false, 80, false);
|
parent::__construct(null, $verbose, $colors, false, 80, false);
|
||||||
$this->phpunitTeamCity = new \PHPUnit\Util\Log\TeamCity(
|
$this->phpunitTeamCity = new \PHPUnit\Util\Log\TeamCity(
|
||||||
$out,
|
null,
|
||||||
$verbose,
|
$verbose,
|
||||||
$colors,
|
$colors,
|
||||||
false,
|
false,
|
||||||
@ -66,7 +69,8 @@ final class TeamCity extends DefaultResultPrinter
|
|||||||
$suiteName = $suite->getName();
|
$suiteName = $suite->getName();
|
||||||
|
|
||||||
if (file_exists($suiteName)) {
|
if (file_exists($suiteName)) {
|
||||||
$this->printEvent('testSuiteStarted', [
|
$this->printEvent(
|
||||||
|
self::TEST_SUITE_STARTED, [
|
||||||
self::NAME => $suiteName,
|
self::NAME => $suiteName,
|
||||||
self::LOCATION_HINT => self::PROTOCOL . $suiteName,
|
self::LOCATION_HINT => self::PROTOCOL . $suiteName,
|
||||||
]);
|
]);
|
||||||
@ -76,7 +80,8 @@ final class TeamCity extends DefaultResultPrinter
|
|||||||
|
|
||||||
$fileName = $suite->getName()::__getFileName();
|
$fileName = $suite->getName()::__getFileName();
|
||||||
|
|
||||||
$this->printEvent('testSuiteStarted', [
|
$this->printEvent(
|
||||||
|
self::TEST_SUITE_STARTED, [
|
||||||
self::NAME => substr($suiteName, 2),
|
self::NAME => substr($suiteName, 2),
|
||||||
self::LOCATION_HINT => self::PROTOCOL . $fileName,
|
self::LOCATION_HINT => self::PROTOCOL . $fileName,
|
||||||
]);
|
]);
|
||||||
@ -88,7 +93,8 @@ final class TeamCity extends DefaultResultPrinter
|
|||||||
$suiteName = $suite->getName();
|
$suiteName = $suite->getName();
|
||||||
|
|
||||||
if (file_exists($suiteName)) {
|
if (file_exists($suiteName)) {
|
||||||
$this->printEvent('testSuiteFinished', [
|
$this->printEvent(
|
||||||
|
self::TEST_SUITE_FINISHED, [
|
||||||
self::NAME => $suiteName,
|
self::NAME => $suiteName,
|
||||||
self::LOCATION_HINT => self::PROTOCOL . $suiteName,
|
self::LOCATION_HINT => self::PROTOCOL . $suiteName,
|
||||||
]);
|
]);
|
||||||
@ -96,7 +102,8 @@ final class TeamCity extends DefaultResultPrinter
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->printEvent('testSuiteFinished', [
|
$this->printEvent(
|
||||||
|
self::TEST_SUITE_FINISHED, [
|
||||||
self::NAME => substr($suiteName, 2),
|
self::NAME => substr($suiteName, 2),
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
@ -147,7 +154,8 @@ final class TeamCity extends DefaultResultPrinter
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->printEvent('testFailed', [
|
$this->printEvent(
|
||||||
|
self::TEST_FAILED, [
|
||||||
self::NAME => $test->getName(),
|
self::NAME => $test->getName(),
|
||||||
'message' => $t->getMessage(),
|
'message' => $t->getMessage(),
|
||||||
'details' => $t->getTraceAsString(),
|
'details' => $t->getTraceAsString(),
|
||||||
@ -168,7 +176,8 @@ final class TeamCity extends DefaultResultPrinter
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->printEvent('testFailed', [
|
$this->printEvent(
|
||||||
|
self::TEST_FAILED, [
|
||||||
self::NAME => $test->getName(),
|
self::NAME => $test->getName(),
|
||||||
'message' => $e->getMessage(),
|
'message' => $e->getMessage(),
|
||||||
'details' => $e->getTraceAsString(),
|
'details' => $e->getTraceAsString(),
|
||||||
|
|||||||
Reference in New Issue
Block a user