pestphp/pest · error · DatasetAlreadyExists

A dataset named [%s] is already registered in [%s]. Please c

Error message

A dataset named [%s] is already registered in [%s]. Please choose a different name.

What it means

Error "A dataset named [%s] is already registered in [%s]. Please choose a different name." thrown in pestphp/pest.

Source

Thrown at src/Repositories/DatasetsRepository.php:42

    /**
     * @var array<string, Closure|iterable<int|string, mixed>>
     */
    private static array $datasets = [];

    /**
     * @var array<array<string, Closure|iterable<int|string, mixed>|string>>
     */
    private static array $withs = [];

    /**
     * @param  Closure|iterable<int|string, mixed>  $data
     */
    public static function set(string $name, Closure|iterable $data, string $scope): void
    {
        $datasetKey = "$scope".self::SEPARATOR."$name";

        if (array_key_exists("$datasetKey", self::$datasets)) {
            throw new DatasetAlreadyExists($name, $scope);
        }

        self::$datasets[$datasetKey] = $data;
    }

    /**
     * @param  array<Closure|iterable<int|string, mixed>|string>  $with
     */
    public static function with(string $filename, string $description, array $with): void
    {
        self::$withs["$filename".self::SEPARATOR."$description"] = $with;
    }

    public static function has(string $filename, string $description): bool
    {
        return array_key_exists($filename.self::SEPARATOR.$description, self::$withs);
    }

View on GitHub (pinned to 1af74a215c)

When it happens

Trigger: Thrown at src/Repositories/DatasetsRepository.php:42 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of pestphp/pest@1af74a215c (2026-08-21). Data as JSON: /api/errors/36e975c7d121191c. Report an issue: GitHub.