spameri / dependency-mocker

为Nette框架通过Mockery加载依赖到模拟类。

v2.0.0 2022-02-10 08:59 UTC

This package is auto-updated.

Last update: 2024-09-10 15:02:50 UTC


README

为Nette框架通过Mockery加载依赖到模拟类。

使用方法

设置

禁止的类

数据实体,具有不同mockery魔法的类(例如 __getStatic())等。

Spamer\DependencyMocker\Mocker::setBannedClasses([
	App\Entity\BaseEntity::class,
	App\GetStatic::class,
]);

模拟类

$basePresenter = Spamer\DependencyMocker\Mocker::mockClassDependencies(App\BasePresenter::class);

魔法

BasePresenter中的方法

$basePresenter->shouldReceive('add')->andReturn(1);

访问BasePresenter的依赖并设置Mockery逻辑。

私有属性

Spamer\DependencyMocker\Mocker::getProperty(
	App\BasePresenter::class, 
	'articleModel', 
	$basePresenter
)
	->shouldReceive('save')->once();

公共属性

$basePresenter->articleModel->shouldReceive('save')->once();