Download the PHP package jimigrunge/invoke-private-methods without Composer
On this page you can find all versions of the php package jimigrunge/invoke-private-methods. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package invoke-private-methods
Invoke Private Methods
This is a class to aid in unit testing of private methods. It can be used either as a stand alone class or as a trait and called either programmatically or statically.
Although testing of private methods is not recommended in most cases, sometimes it is necessary. Such as to insure correct calculations in a protected method aside form the methods that currently utilize it. Hence this repository.
Note: I mainly use PhpUnit for all testing so I make no guaranties when it comes to other testing utilities as I have not utilized them yet.
Installation
Note on version requirements
If you are using a version of PHP less than 8.1 please use the 2.0 branch If you are using a version of PHP less than 7.1 please use the 1.0 branch
Usage
class InvokePrivateMethod
This class can be used to test private and protected methods.
Once you include the class with the 'use' statement, you can utilize it on one of two ways.
You can either create an instance of InvokePrivateMethod
and call invokeMethod
, as in testMyMethod()
,
or call invoke()
statically as in testMyMethodStatically()
trait InvokePrivateMethodTrait
This trait can be used to add the functionality directly to you test class so that it can call it internally.
As with the full class usage, you can utilize it on one of two ways.
You can either call $this->invokeMethod
, as in testMyMethod()
,
or call self::invoke()
statically as in testMyMethodStatically()
Further detail
More detailed usage examples can be found by studying the tests in the /tests
directory.
Reporting an issue or a feature request
Issues and feature requests are tracked in the Github issue tracker.
TODO
Nothing at the moment
Contributing
CONTRIBUTING.md
License
The MIT License (MIT)