-
-
Notifications
You must be signed in to change notification settings - Fork 738
Closed
rectorphp/rector-phpunit
#474Description
Bug Report
| Subject | Details |
|---|---|
| Rector version | 2.0.11 |
SpecificAssertContainsWithoutIdentityRector.php tries to parse a https://github.com/zenstruck/messenger-test assertion (which it should not care about):
use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase;
use Zenstruck\Messenger\Test\InteractsWithMessenger;
class MyTest extends KernelTestCase // or WebTestCase
{
use InteractsWithMessenger;
public function test_something(): void
{
...
$this->transport()->queue()->assertNotContains(MyMessage::class); // queue not contains this message
...
}
}
It then fails with the message
System error: "Rector\Rector\AbstractRector::getType(): Argument #1 ($node) must be of type PhpParser\Node, null given, ...
Complete stack trace from debug output in my project:
[ERROR] Could not process "<my file, REDACTED>" file, due to:
"System error: "Rector\Rector\AbstractRector::getType(): Argument #1 ($node) must be of type PhpParser\Node,
null given, called in
vendor/rector/rector/vendor/rector/rector-phpunit/rules/PHPUnit90/Rector/MethodCall/SpecificAssertContainsWitho
utIdentityRector.php84"
Stack trace:
#0
vendor/rector/rector/vendor/rector/rector-phpunit/rules/PHPUnit90/Rector/MethodCall/SpecificAssertContainsWitho
utIdentityRector.php(84): Rector\Rector\AbstractRector->getType()
#1 vendor/rector/rector/src/Rector/AbstractRector.php(112):
Rector\PHPUnit\PHPUnit90\Rector\MethodCall\SpecificAssertContainsWithoutIdentityRector->refactor()
#2 vendor/rector/rector/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(103):
Rector\Rector\AbstractRector->enterNode()
#3 vendor/rector/rector/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(200):
PhpParser\NodeTraverser->traverseNode()
#4 vendor/rector/rector/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(90):
PhpParser\NodeTraverser->traverseArray()
#5 vendor/rector/rector/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(200):
PhpParser\NodeTraverser->traverseNode()
#6 vendor/rector/rector/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(90):
PhpParser\NodeTraverser->traverseArray()
#7 vendor/rector/rector/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(200):
PhpParser\NodeTraverser->traverseNode()
#8 vendor/rector/rector/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(90):
PhpParser\NodeTraverser->traverseArray()
#9 vendor/rector/rector/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(200):
PhpParser\NodeTraverser->traverseNode()
#10 vendor/rector/rector/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(71):
PhpParser\NodeTraverser->traverseArray()
#11 vendor/rector/rector/src/PhpParser/NodeTraverser/RectorNodeTraverser.php(49):
PhpParser\NodeTraverser->traverse()
#12 vendor/rector/rector/src/Application/FileProcessor.php(95):
Rector\PhpParser\NodeTraverser\RectorNodeTraverser->traverse()
#13 vendor/rector/rector/src/Application/ApplicationFileProcessor.php(174):
Rector\Application\FileProcessor->processFile()
#14 vendor/rector/rector/src/Application/ApplicationFileProcessor.php(151):
Rector\Application\ApplicationFileProcessor->processFile()
#15 vendor/rector/rector/src/Application/ApplicationFileProcessor.php(128):
Rector\Application\ApplicationFileProcessor->processFiles()
#16 vendor/rector/rector/src/Console/Command/ProcessCommand.php(167):
Rector\Application\ApplicationFileProcessor->run()
#17 vendor/rector/rector/vendor/symfony/console/Command/Command.php(285):
Rector\Console\Command\ProcessCommand->execute()
#18 vendor/rector/rector/vendor/symfony/console/Application.php(900):
RectorPrefix202503\Symfony\Component\Console\Command\Command->run()
#19 vendor/rector/rector/vendor/symfony/console/Application.php(279):
RectorPrefix202503\Symfony\Component\Console\Application->doRunCommand()
#20 vendor/rector/rector/src/Console/ConsoleApplication.php(53):
RectorPrefix202503\Symfony\Component\Console\Application->doRun()
#21 vendor/rector/rector/vendor/symfony/console/Application.php(162):
Rector\Console\ConsoleApplication->doRun()
#22 vendor/rector/rector/bin/rector.php(130): RectorPrefix202503\Symfony\Component\Console\Application->run()
#23 vendor/rector/rector/bin/rector(5): require_once('...')
#24 vendor/bin/rector(119): include('...')
#25 {main}". On line: 196
Minimal PHP Code Causing Issue
tbd
Expected Behaviour
My expectation would be that it ignores this method call.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels