File tree Expand file tree Collapse file tree 3 files changed +40
-0
lines changed
rules-tests/CodeQuality/Rector/Class_
PreferPHPUnitSelfCallRector/Fixture
PreferPHPUnitThisCallRector/Fixture
rules/CodeQuality/NodeAnalyser Expand file tree Collapse file tree 3 files changed +40
-0
lines changed Original file line number Diff line number Diff line change 1+ <?php
2+
3+ namespace Rector \PHPUnit \Tests \CodeQuality \Rector \Class_ \PreferPHPUnitSelfCallRector \Fixture ;
4+
5+ use PHPUnit \Framework \TestCase ;
6+
7+ final class SkipDifferentObject extends TestCase
8+ {
9+ public function testMe ()
10+ {
11+ $ this ->transport ('webhook ' )
12+ ->dispatched ()
13+ ->assertCount (1 )
14+ ->assertContains (SendWebhookMessage::class);
15+ }
16+ }
Original file line number Diff line number Diff line change 1+ <?php
2+
3+ namespace Rector \PHPUnit \Tests \CodeQuality \Rector \Class_ \PreferPHPUnitThisCallRector \Fixture ;
4+
5+ use PHPUnit \Framework \TestCase ;
6+
7+ final class SkipDifferentObjectType extends TestCase
8+ {
9+ public function testMe ()
10+ {
11+ $ someMock = $ object ->execute ()::createMock ('stdClass ' );
12+ }
13+ }
Original file line number Diff line number Diff line change 77use PhpParser \Node \Expr \MethodCall ;
88use PhpParser \Node \Expr \StaticCall ;
99use PHPStan \Reflection \ClassReflection ;
10+ use PHPStan \Type \ObjectType ;
1011use Rector \NodeNameResolver \NodeNameResolver ;
12+ use Rector \NodeTypeResolver \NodeTypeResolver ;
1113use Rector \PHPUnit \CodeQuality \Enum \NonAssertStaticableMethods ;
1214use Rector \PHPUnit \Enum \PHPUnitClassName ;
1315use Rector \Reflection \ReflectionResolver ;
1719 public function __construct (
1820 private NodeNameResolver $ nodeNameResolver ,
1921 private ReflectionResolver $ reflectionResolver ,
22+ private NodeTypeResolver $ nodeTypeResolver
2023 ) {
2124 }
2225
2326 public function detectTestCaseCall (MethodCall |StaticCall $ call ): bool
2427 {
28+ $ objectCaller = $ call instanceof MethodCall
29+ ? $ call ->var
30+ : $ call ->class ;
31+
32+ if (! $ this ->nodeTypeResolver ->isObjectType ($ objectCaller , new ObjectType ('PHPUnit\Framework\TestCase ' ))) {
33+ return false ;
34+ }
35+
2536 $ methodName = $ this ->nodeNameResolver ->getName ($ call ->name );
2637 if (! str_starts_with ((string ) $ methodName , 'assert ' ) && ! in_array (
2738 $ methodName ,
You can’t perform that action at this time.
0 commit comments