diff --git a/src/Concerns/Testable.php b/src/Concerns/Testable.php index e192c8fa..67a16b2c 100644 --- a/src/Concerns/Testable.php +++ b/src/Concerns/Testable.php @@ -360,7 +360,7 @@ trait Testable } $parameterType = is_string($argumentIndex) - ? ($testParameterTypesByName[$argumentIndex] ?? 'mixed') + ? $testParameterTypesByName[$argumentIndex] : $testParameterTypes[$argumentIndex]; if (in_array($parameterType, [Closure::class, 'callable', 'mixed'])) { diff --git a/tests/Features/DatasetsTests.php b/tests/Features/DatasetsTests.php index b5607106..99682015 100644 --- a/tests/Features/DatasetsTests.php +++ b/tests/Features/DatasetsTests.php @@ -533,3 +533,12 @@ test('named parameters work with bound closure returning associative array', fun return ['name' => $this->foo, 'email' => 'test@example.com']; }, ]); + +test('dataset items can mix named and sequential styles', function (string $name, string $email) { + expect($name)->toBeString(); + expect($email)->toContain('@'); +})->with([ + ['name' => 'Taylor', 'email' => 'taylor@laravel.com'], + ['James', 'james@laravel.com'], + ['James', 'email' => 'james@laravel.com'], +]);