reecem/mocker

根据反射类构造函数参数来模拟类

v1.2.1 2023-04-03 13:19 UTC

This package is auto-updated.

Last update: 2024-09-03 16:13:24 UTC


README

Latest Stable Version License Downloads

此包最初是为了解决MailEclipse包的问题而制作的,但欢迎改进。目前它可能很简单,但处理读取文件和模拟的工作。

生成一个未类型化的参数在 __construct() 方法中的模拟实例

这会在从反射类检索的文件中搜索并查找所有类似箭头调用的对象;例如

...
public function __construct($objectArg, string $arg) 
{
    $this->value    = $objectArg->value; // this will be picked up
    $this->name     = $arg;
}
...

安装

您可以通过composer安装此包

composer require reecem/mocker

要求

  • Laravel ^5.6 (最小)

用法

use ReeceM\ReflectionMockery;

/**
 * The class __construct Method is automatically read and args created
 */
$mock = new ReflectionMockery('\App\User');
// or
$mock = new ReflectionMockery(new \ReflectionClass('\App\User'));

// some time later

/**
 * Use call a variable from the class that don't exist
 */
{{ $mock->get('somethingNotInUser') }}
{{ $mock->somethingNotInUser }}

// both would return 

"mock->somethingNotInUser"
// if something was set in user
'mock->somethingNotInUser => ["value that set"]'

安全

如果您发现任何与安全相关的问题,请通过电子邮件 zsh.rce@gmail.com 联系我们,而不是使用问题跟踪器。

感谢

待办事项

  • 添加功能以处理 $this->internal = $param; 搜索,以便在代码中的稍后位置使用
  • 添加翻译文件以在测试时为模拟值提供翻译结果,以提供预览的翻译结果

支持

如果您觉得代码有用,请考虑支持它 😄

  • MailEclipse "来自Laravel邮件编辑器所有者的少量捐赠,感谢您的贡献"

Buy Me a Coffee at ko-fi.com

许可

MIT许可证(MIT)。有关更多信息,请参阅许可证文件

赞助商