catch parse errors and let the user know in a friendlier manner

This commit is contained in:
jordanbrauer
2021-02-13 11:12:09 -06:00
parent be906eb823
commit 40f2065575

View File

@ -5,6 +5,7 @@ declare(strict_types=1);
namespace Pest\Factories;
use Closure;
use ParseError;
use Pest\Concerns;
use Pest\Contracts\HasPrintableTestCaseName;
use Pest\Datasets;
@ -13,6 +14,7 @@ use Pest\Support\HigherOrderMessageCollection;
use Pest\Support\NullClosure;
use Pest\TestSuite;
use PHPUnit\Framework\TestCase;
use RuntimeException;
/**
* @internal
@ -194,6 +196,7 @@ final class TestCaseFactory
$namespace = implode('\\', $partsFQN);
$baseClass = sprintf('\%s', $this->class);
try {
eval("
namespace $namespace;
@ -203,6 +206,9 @@ final class TestCaseFactory
private static \$__filename = '$filename';
}
");
} catch (ParseError $caught) {
throw new RuntimeException(sprintf('Unable to create test case for test file at %s', $filename), 1, $caught);
}
return $classFQN;
}