mirror of
https://github.com/pestphp/pest.git
synced 2026-03-10 09:47:23 +01:00
Merge pull request #1117 from peterfox/bug/catch-static-closures
[Bug] provided explaination for static closures
This commit is contained in:
@ -11,6 +11,7 @@ use Pest\Contracts\HasPrintableTestCaseName;
|
||||
use Pest\Exceptions\DatasetMissing;
|
||||
use Pest\Exceptions\ShouldNotHappen;
|
||||
use Pest\Exceptions\TestAlreadyExist;
|
||||
use Pest\Exceptions\TestClosureMustNotBeStatic;
|
||||
use Pest\Exceptions\TestDescriptionMissing;
|
||||
use Pest\Factories\Concerns\HigherOrderable;
|
||||
use Pest\Support\Reflection;
|
||||
@ -216,6 +217,13 @@ final class TestCaseFactory
|
||||
throw new TestAlreadyExist($method->filename, $method->description);
|
||||
}
|
||||
|
||||
if (
|
||||
$method->closure instanceof \Closure &&
|
||||
(new \ReflectionFunction($method->closure))->isStatic()
|
||||
) {
|
||||
throw new TestClosureMustNotBeStatic("The test `$method->description` closure must not be static in $method->filename.");
|
||||
}
|
||||
|
||||
if (! $method->receivesArguments()) {
|
||||
if (! $method->closure instanceof \Closure) {
|
||||
throw ShouldNotHappen::fromMessage('The test closure may not be empty.');
|
||||
|
||||
Reference in New Issue
Block a user