You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Mocking multiple types reports errors with phpstan 0.12 #58
Calling createMock with multiple Types causes phpstan to report errors:
A class like
<?php declare(strict_types=1);
namespace App;
use PHPUnit\Framework\TestCase;
class Test extends TestCase
{
public function testDummy(): void {
$this->createMock([\DateTimeInterface::class, \ArrayAccess::class]);
}
}
throws the following errors:
------ -------------------------------------------------------------------------------------------------------------------------------------------------
Line Test.php
------ -------------------------------------------------------------------------------------------------------------------------------------------------
11 Parameter #1 $originalClassName of method PHPUnit\Framework\TestCase::createMock() expects class-string<mixed>, array<int, class-string> given.
11 Unable to resolve the template type T in call to method PHPUnit\Framework\TestCase::createMock()
------ -------------------------------------------------------------------------------------------------------------------------------------------------
The error also occurs, if there is only one class given, but not as a string, but as an array: $this->createMock([\DateTimeInterface::class]); produces the same error.
Activity
ondrejmirtes commentedon Jan 18, 2020
I inspected the code in 0.11 and it couldn't have worked before, you just received MockObject without intersected mocked classes. So 0.12 just surfaces that it doesn't do what you want it to do. Of course it can be fixed with a similar extension I reverted here (in favour of stubs): https://github.com/phpstan/phpstan-phpunit/blob/79d30f7074ecb773c70147a01478b31efca79023/src/Type/PHPUnit/CreateMockDynamicReturnTypeExtension.php
VincentLanglet commentedon Nov 1, 2025
Create mock donc support array of classes, so I assume this issue and the related PR (#61) can be closed
https://github.com/sebastianbergmann/phpunit/blob/79fc96ed5eaf384d77a4deb2b1b2a02518666d18/src/Framework/TestCase.php#L1157
ondrejmirtes commentedon Nov 1, 2025
Thanks!
github-actions commentedon Dec 3, 2025
This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.