gyro / phake-attributes
用于PHPUnit和辅助工具内部Phake的#[Mock]属性。
v1.2
2022-07-03 07:57 UTC
Requires
- php: ^8.0
- phake/phake: ^4.2
Requires (Dev)
- phpunit/phpunit: ^9.5
README
此Phake扩展提供了一个#[Mock]
属性,用于属性,可以通过添加before监听器的特性在PHPUnit测试用例中使用。
use Gyro\PhakeAttributes\Mock; use Gyro\PhakeAttributes\PhakeAttributes; use PHPUnit\Framework\TestCase; class MyServiceTestCase extends TestCase { use PhakeAttributes; #[Mock] // during setup phase in PHPUnit will call Phake::mock(MyDependencyService::class) private MyDependencyService $myDependency; public function testMyServiceMethod() : void { \Phake::when($this->myDependency)->foo()->thenReturn('bar'); // this uses named arguments and array expansion to pass ctor arguments // reflection is used to find the types needed for each argument and the // properties and mocks in current test are searched for matches based // on variable name or type. $service = new MyService(...$this->mockArgumentsFor(Myservice::class)); // if you dont want to type that much: $service = $this->newInstanceWithMockedArgumentsFor(MyService::class); } }