Add explicit instance assert between above nullable object pass
use PHPUnit\Framework\TestCase;
final class SomeTest extends TestCase
{
public function test()
{
$someObject = $this->getSomeObject();
+ $this->assertInstanceOf(SomeClass::class, $someObject);
$this->process($someObject);
}
private function getSomeObject(): ?SomeClass
{
if (mt_rand(0, 1)) {
return new SomeClass();
}
return null;
}
private function process(SomeClass $someObject): void
{
// non-nullable use here
}
}
Configure your rector.php:
<?php
use Rector\Config\RectorConfig;
use Rector\PHPUnit\CodeQuality\Rector\ClassMethod\AddInstanceofAssertForNullableArgumentRector;
return RectorConfig::configure()
->withRules([
AddInstanceofAssertForNullableArgumentRector::class,
]);