fix failure message

This commit is contained in:
Fabio Ivona
2023-03-19 00:14:18 +01:00
parent 9de85175db
commit 1f3e5115c7
2 changed files with 5 additions and 4 deletions

View File

@ -285,12 +285,13 @@ trait Testable
$underlyingTest = Reflection::getFunctionVariable($this->__test, 'closure'); $underlyingTest = Reflection::getFunctionVariable($this->__test, 'closure');
$testReflection = new ReflectionFunction($underlyingTest); $testReflection = new ReflectionFunction($underlyingTest);
$requiredParametersCount = $testReflection->getNumberOfRequiredParameters(); $requiredParametersCount = $testReflection->getNumberOfRequiredParameters();
$suppliedParametersCount = count($arguments);
if (count($arguments) >= $requiredParametersCount) { if ($suppliedParametersCount >= $requiredParametersCount) {
return; return;
} }
throw new DatasetArgsCountMismatch($this->dataName()); throw new DatasetArgsCountMismatch($this->dataName(), $requiredParametersCount, $suppliedParametersCount);
} }
/** /**

View File

@ -8,8 +8,8 @@ use Exception;
final class DatasetArgsCountMismatch extends Exception final class DatasetArgsCountMismatch extends Exception
{ {
public function __construct(string $dataName) public function __construct(string $dataName, int $requiredCount, int $suppliedCount)
{ {
parent::__construct(sprintf('Number of arguments mismatch between test and dataset [%s]', $dataName)); parent::__construct(sprintf('Test expects %d arguments but dataset [%s] only provides %d', $requiredCount, $dataName, $suppliedCount));
} }
} }