Download the PHP package eloquent/phony-kahlan without Composer
On this page you can find all versions of the php package eloquent/phony-kahlan. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package phony-kahlan
No longer maintained
This package is no longer maintained. See this statement for more info.
Phony for Kahlan
Installation
composer require --dev eloquent/phony-kahlan
See also
- Read the documentation.
- Read the Kahlan documentation.
- Visit the main Phony repository.
What is Phony for Kahlan?
Phony for Kahlan is a plugin for the Kahlan testing framework that provides general integration with the Phony mocking framework, as well as optional auto-wired test dependencies.
In other words, if a Kahlan test (or suite) requires a mock object, it can be defined to have a parameter with an appropriate type declaration, and it will automatically receive a mock of that type as an argument when run.
Stubs for callable
types, and "empty" values for other type declarations are
also supported.
Plugin installation
Installation is only required when using the dependency injection features of the plugin. The plugin can be installed in the Kahlan configuration file like so:
Dependency injection
Once the plugin is installed, any tests or suites that are defined with parameters will be supplied with matching arguments when run:
Injected mock objects
Phony for Kahlan supports automatic injection of mock objects. Because
Phony doesn't alter the interface of mocked objects, it is necessary to use
on()
to retrieve the mock handle in order to perform stubbing and
verification:
Injected stubs
Phony for Kahlan supports automatic injection of stubs for parameters with
a callable
type declaration:
Supported types
The following table lists the supported type declarations, and the value supplied for each:
Parameter type | Supplied value |
---|---|
(none) | null |
bool |
false |
int |
0 |
float |
.0 |
string |
'' |
array |
[] |
iterable |
[] |
object |
(object) [] |
stdClass |
(object) [] |
callable |
stub() |
Closure |
function () {} |
Generator |
(function () {return; yield;})() |
When using a type declaration that is not listed above, the supplied value will be a mock of the specified type.
By necessity, the supplied value will not be wrapped in a mock handle. In
order to obtain a handle, simply use on()
:
License
For the full copyright and license information, please view the LICENSE file.