mirror of
https://github.com/pestphp/pest.git
synced 2026-03-12 10:47:25 +01:00
feat: add new exception for missing datasets on tests with arguments
This commit is contained in:
36
src/Exceptions/DatasetMissing.php
Normal file
36
src/Exceptions/DatasetMissing.php
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace Pest\Exceptions;
|
||||||
|
|
||||||
|
use BadFunctionCallException;
|
||||||
|
use NunoMaduro\Collision\Contracts\RenderlessEditor;
|
||||||
|
use NunoMaduro\Collision\Contracts\RenderlessTrace;
|
||||||
|
use Symfony\Component\Console\Exception\ExceptionInterface;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a new instance of dataset is not present for test that has arguments
|
||||||
|
*
|
||||||
|
* @internal
|
||||||
|
*/
|
||||||
|
final class DatasetMissing extends BadFunctionCallException implements ExceptionInterface, RenderlessEditor, RenderlessTrace
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Create new exception instance.
|
||||||
|
*
|
||||||
|
* @param array<string, string> $args A map of argument names to their typee
|
||||||
|
*/
|
||||||
|
public function __construct(string $file, string $name, array $args)
|
||||||
|
{
|
||||||
|
parent::__construct(sprintf(
|
||||||
|
"A test with the description '%s' has %d argument(s) ([%s]) and no dataset(s) provided in %s",
|
||||||
|
$name,
|
||||||
|
count($args),
|
||||||
|
implode(', ', array_map(static function (string $arg, string $type): string {
|
||||||
|
return sprintf('%s $%s', $type, $arg);
|
||||||
|
}, array_keys($args), $args)),
|
||||||
|
$file,
|
||||||
|
));
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user