File tree Expand file tree Collapse file tree 2 files changed +40
-0
lines changed
unit/Framework/MockObject/Creation Expand file tree Collapse file tree 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 2222use PHPUnit \Framework \TestCase ;
2323use PHPUnit \TestFixture \MockObject \ExtendableClass ;
2424use PHPUnit \TestFixture \MockObject \ExtendableClassCallingMethodInConstructor ;
25+ use PHPUnit \TestFixture \MockObject \ExtendableClassWithConstructorArguments ;
2526use PHPUnit \TestFixture \MockObject \InterfaceWithReturnTypeDeclaration ;
2627
2728#[CoversClass(MockBuilder::class)]
@@ -56,6 +57,20 @@ public function testCannotCreateMockObjectWithSpecifiedClassNameWhenClassWithTha
5657 ->getMock ();
5758 }
5859
60+ #[TestDox('setConstructorArgs() can be used to configure constructor arguments for a partially mocked class ' )]
61+ public function testConstructorArgumentsCanBeConfiguredForPartiallyMockedClass (): void
62+ {
63+ $ value = 'string ' ;
64+
65+ $ double = $ this ->getMockBuilder (ExtendableClassWithConstructorArguments::class)
66+ ->enableOriginalConstructor ()
67+ ->setConstructorArgs ([$ value ])
68+ ->onlyMethods ([])
69+ ->getMock ();
70+
71+ $ this ->assertSame ($ value , $ double ->value ());
72+ }
73+
5974 #[TestDox('onlyMethods() can be used to configure which methods should be doubled ' )]
6075 public function testCreatesPartialMockObjectForExtendableClass (): void
6176 {
You can’t perform that action at this time.
0 commit comments