File tree 2 files changed +40
-0
lines changed
unit/Framework/MockObject/Creation
2 files changed +40
-0
lines changed Original file line number Diff line number Diff line change
1
+ <?php declare (strict_types=1 );
2
+ /*
3
+ * This file is part of PHPUnit.
4
+ *
5
+ * (c) Sebastian Bergmann <[email protected] >
6
+ *
7
+ * For the full copyright and license information, please view the LICENSE
8
+ * file that was distributed with this source code.
9
+ */
10
+ namespace PHPUnit \TestFixture \MockObject ;
11
+
12
+ class ExtendableClassWithConstructorArguments
13
+ {
14
+ private string $ value ;
15
+
16
+ public function __construct (string $ value )
17
+ {
18
+ $ this ->value = $ value ;
19
+ }
20
+
21
+ public function value (): string
22
+ {
23
+ return $ this ->value ;
24
+ }
25
+ }
Original file line number Diff line number Diff line change 29
29
use PHPUnit \TestFixture \MockObject \AbstractClass ;
30
30
use PHPUnit \TestFixture \MockObject \ExtendableClass ;
31
31
use PHPUnit \TestFixture \MockObject \ExtendableClassCallingMethodInConstructor ;
32
+ use PHPUnit \TestFixture \MockObject \ExtendableClassWithConstructorArguments ;
32
33
use PHPUnit \TestFixture \MockObject \InterfaceWithReturnTypeDeclaration ;
33
34
use PHPUnit \TestFixture \MockObject \TraitWithConcreteAndAbstractMethod ;
34
35
@@ -65,6 +66,20 @@ public function testCannotCreateMockObjectWithSpecifiedClassNameWhenClassWithTha
65
66
->getMock ();
66
67
}
67
68
69
+ #[TestDox('setConstructorArgs() can be used to configure constructor arguments for a partially mocked class ' )]
70
+ public function testConstructorArgumentsCanBeConfiguredForPartiallyMockedClass (): void
71
+ {
72
+ $ value = 'string ' ;
73
+
74
+ $ double = $ this ->getMockBuilder (ExtendableClassWithConstructorArguments::class)
75
+ ->enableOriginalConstructor ()
76
+ ->setConstructorArgs ([$ value ])
77
+ ->onlyMethods ([])
78
+ ->getMock ();
79
+
80
+ $ this ->assertSame ($ value , $ double ->value ());
81
+ }
82
+
68
83
#[IgnorePhpunitDeprecations]
69
84
#[TestDox('addMethods() can be used to configure an additional method for the mock object class when the original class does not have a method of the same name ' )]
70
85
public function testCanCreateMockObjectForExtendableClassWhileAddingMethodsToIt (): void
You can’t perform that action at this time.
0 commit comments