From 21a909aa6f5b4026a43553ff4e491d038f0614fd Mon Sep 17 00:00:00 2001 From: Tomas Votruba Date: Sat, 10 Oct 2026 10:43:18 +0200 Subject: [PATCH] [perf] skip non-test class early in AddProphecyTraitRector --- .../Fixture/skip_non_test_class.php.inc | 11 +++++++++++ .../Rector/Class_/AddProphecyTraitRector.php | 4 ++++ 2 files changed, 15 insertions(+) create mode 100644 rules-tests/PHPUnit100/Rector/Class_/AddProphecyTraitRector/Fixture/skip_non_test_class.php.inc diff --git a/rules-tests/PHPUnit100/Rector/Class_/AddProphecyTraitRector/Fixture/skip_non_test_class.php.inc b/rules-tests/PHPUnit100/Rector/Class_/AddProphecyTraitRector/Fixture/skip_non_test_class.php.inc new file mode 100644 index 00000000..d2dcedf7 --- /dev/null +++ b/rules-tests/PHPUnit100/Rector/Class_/AddProphecyTraitRector/Fixture/skip_non_test_class.php.inc @@ -0,0 +1,11 @@ +prophesize(\AnInterface::class); + } +} diff --git a/rules/PHPUnit100/Rector/Class_/AddProphecyTraitRector.php b/rules/PHPUnit100/Rector/Class_/AddProphecyTraitRector.php index 18996a8d..136c413c 100644 --- a/rules/PHPUnit100/Rector/Class_/AddProphecyTraitRector.php +++ b/rules/PHPUnit100/Rector/Class_/AddProphecyTraitRector.php @@ -106,6 +106,10 @@ public function refactor(Node $node): ?Node private function shouldSkipClass(Class_ $class): bool { + if (! $this->testsNodeAnalyzer->isInTestClass($class)) { + return true; + } + $hasProphesizeMethodCall = (bool) $this->betterNodeFinder->findFirst( $class, fn (Node $node): bool => $this->testsNodeAnalyzer->isAssertMethodCallName($node, 'prophesize')