velcoda/mocker

Mock class constructor args based on the reflection class
1,000
Install
composer require velcoda/mocker
Latest Version:v1.0.1
Laravel:5 – 12
License:MIT
Last Updated:Sep 19, 2025
Links: GitHub  ·  Packagist
Maintainer: alexanderkraemer

Reflection Mocker

Latest Stable Version License Downloads

This package is initially made to for an issue on the MailEclipse package, but improvements are welcome. It currently is probably stupid simple, but deals with the one job of reading a file and mocking it.

Generate a mocked instance of the un-typed params in a __construct() method

This searches the file retrieved from the reflection class and looks for all object like arrow calls; ie:

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

Installation

You can install the package via composer:

composer require reecem/mocker

Requirements

  • Laravel ^5.6 (min)

Usage


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"]'

Security

If you discover any security related issues, please email zsh.rce@gmail.com instead of using the issue tracker.

Credits

todo

  • Add functionality to account for $this->internal = $param; searching so it works later on in the code
  • Add a translation file for mocked values when testing to give a translated result for previews

Support

Consider supporting some code if it is useful to you :smile:

  • MailEclipse "just a small donation from Laravel mail editor owner, thanks for your contributions"

Buy Me a Coffee at ko-fi.com

License

The MIT License (MIT). Please see License File for more information.

Sponsors

Related Packages

reecem/mocker

Mock class constructor args based on the reflection class

267,240 7
rtablada/model-mockers

A wrapper that allows for wicked fast mocking of Eloquent Models

13 0
league/factory-muffin

The goal of this package is to enable the rapid creation of objects for the purp...

15,785,645 534
laravel/browser-kit-testing

Provides backwards compatibility for BrowserKit testing in the latest Laravel re...

10,607,793 515
chekote/noun-store

Store and work with Nouns

97,983 8

Version History

Version Released Laravel License
v1.0.1 ^5.6|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0 MIT