Skip to content

Commit d651dab

Browse files
kubawerlossebastianbergmann
authored andcommitted
Improve error message for invalid version constraint in attribute
1 parent 059594d commit d651dab

2 files changed

Lines changed: 14 additions & 3 deletions

File tree

src/Metadata/Parser/AttributeParser.php

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@
9191
use PHPUnit\Framework\Attributes\WithEnvironmentVariable;
9292
use PHPUnit\Framework\Attributes\WithoutErrorHandler;
9393
use PHPUnit\Metadata\InvalidAttributeException;
94+
use PHPUnit\Metadata\InvalidVersionRequirementException;
9495
use PHPUnit\Metadata\Metadata;
9596
use PHPUnit\Metadata\MetadataCollection;
9697
use PHPUnit\Metadata\Version\Requirement;
@@ -994,7 +995,17 @@ private function requirement(string $versionRequirement, string $testClassName,
994995
);
995996
}
996997

997-
return Requirement::from($versionRequirement);
998+
try {
999+
return Requirement::from($versionRequirement);
1000+
} catch (InvalidVersionRequirementException) {
1001+
throw new InvalidVersionRequirementException(
1002+
sprintf(
1003+
'Test %s has attribute with invalid version constraint argument ("%s")',
1004+
$this->testAsString($testClassName, $testMethodName),
1005+
$versionRequirement,
1006+
),
1007+
);
1008+
}
9981009
}
9991010

10001011
/**

tests/end-to-end/event/invalid-version-constraint-no-version.phpt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ require __DIR__ . '/../../bootstrap.php';
1212
--EXPECTF--
1313
An error occurred inside PHPUnit.
1414

15-
Message: (no message)
16-
Location: %s%eRequirement.php:%d
15+
Message: Test method PHPUnit\TestFixture\Event\InvalidVersionConstraintNoVersionTest::testOne has attribute with invalid version constraint argument ("invalid-version")
16+
Location: %s%eAttributeParser.php:%d
1717

1818
%a

0 commit comments

Comments
 (0)