Skip to content

Commit 7f08fbc

Browse files
committed
- getMockForAbstractClass is removed from PhpUnit 12, using MockBuilder as suggested alternative
- use `MockBuilder::onlyMethods` on PhpUnit 8.3.0+ and `MockBuilder::setMethods` up to PhpUnit 8.3.0
1 parent fc83104 commit 7f08fbc

File tree

1 file changed

+22
-8
lines changed

1 file changed

+22
-8
lines changed

tests/MockDelegateFunctionTest.php

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -38,11 +38,18 @@ protected function setUpCompat()
3838
#[\PHPUnit\Framework\Attributes\Test]
3939
public function testDelegateReturnsMockResult()
4040
{
41-
$expected = 3;
42-
$mock = $this->getMockBuilder($this->className)
43-
->onlyMethods([MockDelegateFunctionBuilder::METHOD])
44-
->getMock();
45-
41+
$expected = 3;
42+
$mockBuilder = $this->getMockBuilder($this->className);
43+
44+
// `setMethods` is gone from phpunit 10, alternative is `onlyMethods`
45+
if (method_exists($mockBuilder, 'onlyMethods')) {
46+
$mockBuilder->onlyMethods([MockDelegateFunctionBuilder::METHOD]);
47+
} else {
48+
$mockBuilder->setMethods([MockDelegateFunctionBuilder::METHOD]);
49+
}
50+
51+
$mock = $mockBuilder->getMock();
52+
4653
$mock->expects($this->once())
4754
->method(MockDelegateFunctionBuilder::METHOD)
4855
->willReturn($expected);
@@ -59,9 +66,16 @@ public function testDelegateReturnsMockResult()
5966
#[\PHPUnit\Framework\Attributes\Test]
6067
public function testDelegateForwardsArguments()
6168
{
62-
$mock = $this->getMockBuilder($this->className)
63-
->onlyMethods([MockDelegateFunctionBuilder::METHOD])
64-
->getMock();
69+
$mockBuilder = $this->getMockBuilder($this->className);
70+
71+
// `setMethods` is gone from phpunit 10, alternative is `onlyMethods`
72+
if (method_exists($mockBuilder, 'onlyMethods')) {
73+
$mockBuilder->onlyMethods([MockDelegateFunctionBuilder::METHOD]);
74+
} else {
75+
$mockBuilder->setMethods([MockDelegateFunctionBuilder::METHOD]);
76+
}
77+
78+
$mock = $mockBuilder->getMock();
6579

6680
$mock->expects($this->once())
6781
->method(MockDelegateFunctionBuilder::METHOD)

0 commit comments

Comments
 (0)